A “feature” of the PDF file format is that it will generally let you do whatever you like to create your document regardless or how much, or how little sense it makes. Whether that be positioning with limitless accuracy, or using 9000 complex clipped shapes to shade a giraffe, Adobe’s PDF reader handles this with ease.
Today I am dealing with PDF page containing a shape that is disappearing when we convert our PDF file into HTML5.
The shape in question is a vertical line that is being output as an image for the HTML5 page. The image gets output correctly, and it is properly linked in the HTML file, so why do we not see it?
On closer inspection, we are dealing with a shape 1px wide starting at (236,-13479) and going to (236,49563). Our page is only 1053px tall!
This leaves us with a shape that is 1px by 63042px, with only 1.67% of it actually seen!
I am currently using Firefox, so decide to give the file a try in Chrome. Still no luck. Oddly enough, when I try with Opera, Safari and Internet Explorer, all three browsers show the file and the image correctly!
After some experimentation, I have discovered that Firefox and Chrome only like images that are up to 32767px wide or tall (that is 2^15 – 1 for those wondering).
Any larger, and they will not display the image. Is this a limitation in Firefox & Chrome, or do they know something that the others don’t?
The solution for our PDF to HTML5 Conversion is simple – crop the image to the width and height of our page and adjust the position to match.
Do you need to write or read JPEG in Java?
We have an easy guide on how to write JPEG in Java using ImageIO and JDeli.
You can learn how to read/write most of the image files in ImageIO. However, it gives little control over the process.
JDeli is easy to use and offers complete support, so why don't you give a try?