Description
When calling PDPage.convertToImage(imagetype,resolution) , I have found a case where the application hangs. No error messages, no exceptions, no CPU spike, no I/O. The error had to do with some strange corruption of the awtFont, by the time it reached the method PDSimpleFont.drawString. Some pretty deep digging turned up that if a font with too few glyphs is sent into PDSimpleFont.writeFont, it will enter Graphics2D.drawString ... ne'er to return.
If a check is done to count the glyphs and if they fall below a certain threshold, then just re-instantiate the Font, then all goes well. Typical numbers range from 70 to 1000+, so I've gone with an arbitrary value of 40. All goes well, and I can't measure any difference in performance (except that my app will actually return from attempting this doc!).
Attached is a sample PDF which can re-create the problem, and a patch which seems to solve it sensibly.
Attachments
Attachments
Issue Links
- blocks
-
PDFBOX-1019 PDF conversion to image crashes the JVM
- Closed
- relates to
-
PDFBOX-723 Our test hangs with custom pdf file on operation PDPage.convertToImage()
- Closed