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

Tilman Hausherr commented on PDFBOX-4602:
-----------------------------------------

Please share the file. I'm a bit surprised, because if this was true, then no 
jpeg inline image would ever be parsed. And DCTFilter skips a single 0x0A if it 
is there. Maybe there were two of them?

> Inline image parsing sometimes fails
> ------------------------------------
>
>                 Key: PDFBOX-4602
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4602
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Parsing, Rendering
>    Affects Versions: 2.0.16
>            Reporter: Maison
>            Priority: Minor
>
> We encounter some pdf containing inline images, and when rendering some of 
> them trigger exceptions like :
> {{javax.imageio.IIOException: Not a JPEG stream (starts with: 0x0aff, 
> expected SOI: 0xffd8)
>       at 
> com.twelvemonkeys.imageio.plugins.jpeg.JPEGSegmentImageInputStream.streamInit(JPEGSegmentImageInputStream.java:247)
>       at 
> com.twelvemonkeys.imageio.plugins.jpeg.JPEGSegmentImageInputStream.fetchSegment(JPEGSegmentImageInputStream.java:71)
>       at 
> com.twelvemonkeys.imageio.plugins.jpeg.JPEGSegmentImageInputStream.repositionAsNecessary(JPEGSegmentImageInputStream.java:267)
>       at 
> com.twelvemonkeys.imageio.plugins.jpeg.JPEGSegmentImageInputStream.read(JPEGSegmentImageInputStream.java:302)
>       at 
> com.sun.imageio.plugins.jpeg.JPEGImageReader.readInputData(JPEGImageReader.java:312)
>       at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImageHeader(Native 
> Method)
>       at 
> com.sun.imageio.plugins.jpeg.JPEGImageReader.readNativeHeader(JPEGImageReader.java:620)
>       at 
> com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly(JPEGImageReader.java:347)
>       at 
> com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(JPEGImageReader.java:492)
>       at 
> com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader(JPEGImageReader.java:613)
>       at 
> com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1070)
>       at 
> com.sun.imageio.plugins.jpeg.JPEGImageReader.readRaster(JPEGImageReader.java:1471)
>       at 
> com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReader.readRaster(JPEGImageReader.java:920)
>       at org.apache.pdfbox.filter.DCTFilter.decode(DCTFilter.java:98)
>       at org.apache.pdfbox.filter.DCTFilter.decode(DCTFilter.java:169)
>       at 
> org.apache.pdfbox.pdmodel.graphics.image.PDInlineImage.<init>(PDInlineImage.java:89)
>       at 
> org.apache.pdfbox.contentstream.operator.graphics.BeginInlineImage.process(BeginInlineImage.java:43)
>       at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:848)
>       at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:503)
>       at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:477)
>       at 
> org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:150)
>       at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:254)
>       at 
> org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:245)
>       at 
> org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:179)}}
> This seems to be caused by a NL=0x0a byte just after ID, and it seems that 
> the parser expects the first image data byte right after ID.
> A space after ID seems valid according to pdf reference 1.7 example 4.30



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to