Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding JPEG autorotation #841

Open
wants to merge 3 commits into
base: open-dev-v1
Choose a base branch
from

Conversation

smahnken
Copy link

This change adds automatic image rotation for JPEG images with orientation EXIF data.

Almost all cell phone cameras store the image data in an un-rotated state, and write EXIF data to indicate "which side should be up". All modern browsers understand these EXIF tags and automatically orient the image correctly. Thus, when the pictures are viewed in a web page they appear correct. When the page is output to PDF, however, the image is rotated.

This change modifies the pdfboximage class to read the EXIF data (if it exists) and rotate the image data if necessary. This results in a "rotate on load" behavior (i.e. before the resource cache), so the rotation only needs to be done once, even if the image appears multiple times in the document.

This change utilizes the apache-commons imaging library (which is currently in alpha-3) to read the EXIF data.

Please go easy on me. This is my first pull request. Let me know if I've done something incorrectly, and I'll do my best to comply.

This change adds automatic image rotation for JPEG images with orientation EXIF data.

Almost all cell phone cameras store the image data in an un-rotated state, and write EXIF data to indicate "which side should be up".  All modern browsers understand these EXIF tags and automatically orient the image correctly.  Thus, when the pictures are viewed in a web page they appear correct.  When the page is output to PDF, however, the image is rotated.

This change modifies the pdfboximage class to read the EXIF data (if it exists) and rotate the image if necessary.  This results in a "rotate on load" behavior (i.e. before the resource cache), so the rotation only needs to be done once, even if the image appears multiple times in the document.
* Fixed some whitespace that was accidentally  changed.
* Removed a debug flag from the parent pom.
@Dunemaster
Copy link

hi, @danfickle

Any plans to merge the pr?

Thanks

@justvdv
Copy link

justvdv commented Aug 15, 2023

Hi @danfickle @Dunemaster @smahnken

Any update on this PR? Running into the same issue at the moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants