[
https://issues.apache.org/jira/browse/PDFBOX-5428?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tilman Hausherr resolved PDFBOX-5428.
-------------------------------------
Fix Version/s: 2.0.27
3.0.0 PDFBox
Assignee: Tilman Hausherr
Resolution: Fixed
Should work now, thanks for reporting this. I also fixed a bug in PDFDebugger
in the trunk (not in 2.0 because that one doesn't have the "font rectangles"
features). The missing font is in the right column, next to the "E mais" and
"Contudo" subtitles.
You can test with a snapshot at
https://repository.apache.org/content/groups/snapshots/org/apache/pdfbox/pdfbox-app/2.0.27-SNAPSHOT/
> PDFRenderer.renderImageWithDPI thows EOFException in PDF
> --------------------------------------------------------
>
> Key: PDFBOX-5428
> URL: https://issues.apache.org/jira/browse/PDFBOX-5428
> Project: PDFBox
> Issue Type: Bug
> Components: FontBox, Rendering
> Affects Versions: 2.0.26
> Environment: Ubuntu 20.04.4 LTS
> Java OpenJDK 11.0.12-open
> Reporter: Patrick Davila Kochan
> Assignee: Tilman Hausherr
> Priority: Major
> Fix For: 2.0.27, 3.0.0 PDFBox
>
> Attachments: WIIKTA+FujiyamaPSMT.ttf,
> image-2022-05-03-20-57-47-063.png, pdf_convert_10.pdf
>
>
>
> I use the PDFRenderer in my application and noticed that the
> renderImageWithDPI method throws an EOFException with certain PDF files like
> the one in the attachment.
>
>
> My code:
>
> {code:java}
> private void pdfToImage(final Path pdfFile, final Path destImageFile)
> throws IOException, UnrecoverableConversionErrorException {
> try (final PDDocument document = PDDocument.load(pdfFile.toFile(),
> MemoryUsageSetting.setupTempFileOnly())) {
> disableImageCache(document);
> final PDFRenderer pdfRenderer = new PDFRenderer(document);
> final BufferedImage bim = pdfRenderer.renderImageWithDPI(0, 300,
> ImageType.RGB);
> ImageIOUtil.writeImage(bim,
> destImageFile.toAbsolutePath().toString(), 300);
> } catch (final RasterFormatException | NegativeArraySizeException e) {
> throw new UnrecoverableConversionErrorException(e);
> }
> } {code}
>
>
> Exception thrown:
>
> {code:java}
> java.io.EOFException
> at
> org.apache.fontbox.ttf.MemoryTTFDataStream.readUnsignedShort(MemoryTTFDataStream.java:120)
> at
> org.apache.fontbox.ttf.TTFDataStream.readUnsignedShortArray(TTFDataStream.java:192)
> at
> org.apache.fontbox.ttf.GlyfSimpleDescript.<init>(GlyfSimpleDescript.java:78)
> at org.apache.fontbox.ttf.GlyphData.initData(GlyphData.java:60)
> at org.apache.fontbox.ttf.GlyphTable.getGlyphData(GlyphTable.java:212)
> at org.apache.fontbox.ttf.GlyphTable.getGlyph(GlyphTable.java:191)
> at
> org.apache.pdfbox.pdmodel.font.PDCIDFontType2.getPath(PDCIDFontType2.java:421)
> at
> org.apache.pdfbox.pdmodel.font.PDType0Font.getPath(PDType0Font.java:625)
> at
> org.apache.pdfbox.rendering.TTFGlyph2D.getPathForGID(TTFGlyph2D.java:144)
> at
> org.apache.pdfbox.rendering.TTFGlyph2D.getPathForCharacterCode(TTFGlyph2D.java:93)
> at org.apache.pdfbox.rendering.PageDrawer.drawGlyph2D(PageDrawer.java:511)
> at
> org.apache.pdfbox.rendering.PageDrawer.showFontGlyph(PageDrawer.java:492)
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.showGlyph(PDFStreamEngine.java:820)
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.showGlyph(PDFStreamEngine.java:838)
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.showText(PDFStreamEngine.java:776)
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.showTextString(PDFStreamEngine.java:635)
> at
> org.apache.pdfbox.contentstream.operator.text.ShowText.process(ShowText.java:56)
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:966)
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:541)
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:516)
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:155)
> at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:279)
> at
> org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:355)
> at
> org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:272)
> at
> org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:258)
> at com.converter.PdfConverter.pdfToImage(PdfConverter.java:41){code}
>
--
This message was sent by Atlassian Jira
(v8.20.7#820007)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]