You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Tilman Hausherr (Jira)" <ji...@apache.org> on 2022/05/03 18:58:00 UTC

[jira] [Commented] (PDFBOX-5428) PDFRenderer.renderImageWithDPI thows EOFException in PDF

    [ https://issues.apache.org/jira/browse/PDFBOX-5428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17531369#comment-17531369 ] 

Tilman Hausherr commented on PDFBOX-5428:
-----------------------------------------

With the trunk I also get "Glyph rendering failed for code 27 in font WIIKTA+FujiyamaPSMT". I extracted the font [^WIIKTA+FujiyamaPSMT.ttf] and opened it with DTL OTMaster 3.7 light and got this
 !screenshot-1.png! 
Surprise, it can't load glyph 27.

> 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
>            Priority: Major
>         Attachments: WIIKTA+FujiyamaPSMT.ttf, pdf_convert_10.pdf, screenshot-1.png
>
>
>  
> 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: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org