[
https://issues.apache.org/jira/browse/PDFBOX-3678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15859169#comment-15859169
]
Roman commented on PDFBOX-3678:
-------------------------------
I tried PrintImageLocations.java, and get same, but more detailed error, stack
trace shows that JBIG2Decoder is used from another library, PdfOne.jar:
{code}
com.accusoft.jbsf.errors.JbsfException: java.io.IOException: Could not read
JBIG2 image
at
com.accusoft.pdfps.redaction.method.RedactMethod.handleRequest(RedactMethod.java:49)
~[classes/:?]
at com.accusoft.jbsf.g.a(Unknown Source)
~[jbsf-1.1-20170116.065341-12.jar:?]
at com.accusoft.jbsf.http.HttpServerHandler.handleRequest(Unknown
Source) [jbsf-1.1-20170116.065341-12.jar:?]
at com.accusoft.jbsf.http.i.a(Unknown Source)
[jbsf-1.1-20170116.065341-12.jar:?]
at com.accusoft.jbsf.http.i.call(Unknown Source)
[jbsf-1.1-20170116.065341-12.jar:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[?:1.8.0_101]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[?:1.8.0_101]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[?:1.8.0_101]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
Caused by: java.io.IOException: Could not read JBIG2 image
at org.apache.pdfbox.filter.JBIG2Filter.decode(JBIG2Filter.java:90)
~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.cos.COSInputStream.create(COSInputStream.java:69)
~[pdfbox-2.0.4.jar:2.0.4]
at
org.apache.pdfbox.cos.COSStream.createInputStream(COSStream.java:162)
~[pdfbox-2.0.4.jar:2.0.4]
at
org.apache.pdfbox.pdmodel.common.PDStream.createInputStream(PDStream.java:235)
~[pdfbox-2.0.4.jar:2.0.4]
at
org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.<init>(PDImageXObject.java:160)
~[pdfbox-2.0.4.jar:2.0.4]
at
org.apache.pdfbox.pdmodel.graphics.PDXObject.createXObject(PDXObject.java:70)
~[pdfbox-2.0.4.jar:2.0.4]
at
org.apache.pdfbox.pdmodel.PDResources.getXObject(PDResources.java:409)
~[pdfbox-2.0.4.jar:2.0.4]
at
com.accusoft.pdfps.redaction.utils.pdfbox.PrintImageLocations.processOperator(PrintImageLocations.java:116)
~[classes/:?]
at
org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:486)
~[pdfbox-2.0.4.jar:2.0.4]
at
org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:460)
~[pdfbox-2.0.4.jar:2.0.4]
at
org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:150)
~[pdfbox-2.0.4.jar:2.0.4]
at
com.accusoft.pdfps.redaction.utils.pdfbox.PrintImageLocations.main(PrintImageLocations.java:88)
~[classes/:?]
at
com.accusoft.pdfps.redaction.method.RedactMethod.handleRequest(RedactMethod.java:26)
~[classes/:?]
... 8 more
Caused by: java.io.EOFException
at
javax.imageio.stream.ImageInputStreamImpl.readBit(ImageInputStreamImpl.java:652)
~[?:1.8.0_101]
at com.levigo.jbig2.SegmentHeader.e(gn:75)
~[pdfone-5.3.17.507.jar:5.3.17.507]
at com.levigo.jbig2.SegmentHeader.D(gn:208)
~[pdfone-5.3.17.507.jar:5.3.17.507]
at com.levigo.jbig2.SegmentHeader.<init>(gn:67)
~[pdfone-5.3.17.507.jar:5.3.17.507]
at com.levigo.jbig2.e.k(hm:148) ~[pdfone-5.3.17.507.jar:5.3.17.507]
at com.levigo.jbig2.e.<init>(hm:204) ~[pdfone-5.3.17.507.jar:5.3.17.507]
at com.levigo.jbig2.JBIG2ImageReader.D(uf:275)
~[pdfone-5.3.17.507.jar:5.3.17.507]
at com.levigo.jbig2.JBIG2ImageReader.D(uf:233)
~[pdfone-5.3.17.507.jar:5.3.17.507]
at com.levigo.jbig2.JBIG2ImageReader.read(uf:29)
~[pdfone-5.3.17.507.jar:5.3.17.507]
at org.apache.pdfbox.filter.JBIG2Filter.decode(JBIG2Filter.java:85)
~[pdfbox-2.0.4.jar:2.0.4]
at org.apache.pdfbox.cos.COSInputStream.create(COSInputStream.java:69)
~[pdfbox-2.0.4.jar:2.0.4]
at
org.apache.pdfbox.cos.COSStream.createInputStream(COSStream.java:162)
~[pdfbox-2.0.4.jar:2.0.4]
at
org.apache.pdfbox.pdmodel.common.PDStream.createInputStream(PDStream.java:235)
~[pdfbox-2.0.4.jar:2.0.4]
at
org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.<init>(PDImageXObject.java:160)
~[pdfbox-2.0.4.jar:2.0.4]
at
org.apache.pdfbox.pdmodel.graphics.PDXObject.createXObject(PDXObject.java:70)
~[pdfbox-2.0.4.jar:2.0.4]
at
org.apache.pdfbox.pdmodel.PDResources.getXObject(PDResources.java:409)
~[pdfbox-2.0.4.jar:2.0.4]
at
com.accusoft.pdfps.redaction.utils.pdfbox.PrintImageLocations.processOperator(PrintImageLocations.java:116)
~[classes/:?]
at
org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:486)
~[pdfbox-2.0.4.jar:2.0.4]
at
org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:460)
~[pdfbox-2.0.4.jar:2.0.4]
at
org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:150)
~[pdfbox-2.0.4.jar:2.0.4]
at
com.accusoft.pdfps.redaction.utils.pdfbox.PrintImageLocations.main(PrintImageLocations.java:88)
~[classes/:?]
at
com.accusoft.pdfps.redaction.method.RedactMethod.handleRequest(RedactMethod.java:26)
~[classes/:?]
{code}
Also I found that if I go inside pdfone-5.3.17.507.jar archive, and edit
\META-INF\services\javax.imageio.spi.ImageReaderSpi, changing line
{code}
com.levigo.jbig2.JBIG2ImageReaderSpi
{code}
to
{code}
org.jpedal.jbig2.jai.JBIG2ImageReaderSpi
{code}
then, error goes away.
Ok, now its clear this bug is not inside pdfbox. But could you recomend
alternative ways, how to prevent wrong decoder to be loaded? Could this be done
without editing contents of pdfone.jar file?
> JBIG2 decoding error in 2.0
> ---------------------------
>
> Key: PDFBOX-3678
> URL: https://issues.apache.org/jira/browse/PDFBOX-3678
> Project: PDFBox
> Issue Type: Bug
> Reporter: Roman
> Attachments: BTB0010010004.1-Bit_Jbig2.pdf
>
>
> After migration from PdfBox 1.8 to 2.0, we started to get the following
> error, when processing attached PDF (on 1.8 it was working fine):
> {code}
> java.io.IOException: Could not read JBIG2 image
> at org.apache.pdfbox.filter.JBIG2Filter.decode(JBIG2Filter.java:91)
> ~[pdfbox-2.0.3.jar:2.0.3]
> at org.apache.pdfbox.cos.COSInputStream.create(COSInputStream.java:69)
> ~[pdfbox-2.0.3.jar:2.0.3]
> at
> org.apache.pdfbox.cos.COSStream.createInputStream(COSStream.java:162)
> ~[pdfbox-2.0.3.jar:2.0.3]
> at
> org.apache.pdfbox.pdmodel.common.PDStream.createInputStream(PDStream.java:235)
> ~[pdfbox-2.0.3.jar:2.0.3]
> at
> org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.<init>(PDImageXObject.java:147)
> ~[pdfbox-2.0.3.jar:2.0.3]
> at
> org.apache.pdfbox.pdmodel.graphics.PDXObject.createXObject(PDXObject.java:70)
> ~[pdfbox-2.0.3.jar:2.0.3]
> at
> org.apache.pdfbox.pdmodel.PDResources.getXObject(PDResources.java:409)
> ~[pdfbox-2.0.3.jar:2.0.3]
> at
> com.accusoft.pdfps.redaction.utils.pdfbox.ImageTransformsCalculator.processOperator(ImageTransformsCalculator.java:78)
> ~[classes/:?]
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:472)
> ~[pdfbox-2.0.3.jar:2.0.3]
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:446)
> ~[pdfbox-2.0.3.jar:2.0.3]
> at
> org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:149)
> ~[pdfbox-2.0.3.jar:2.0.3]
> Caused by: java.io.EOFException
> at
> javax.imageio.stream.ImageInputStreamImpl.readBit(ImageInputStreamImpl.java:652)
> ~[?:1.8.0_101]
> at com.levigo.jbig2.SegmentHeader.e(gn:75)
> ~[pdfone-5.3.17.507.jar:5.3.17.507]
> at com.levigo.jbig2.SegmentHeader.D(gn:208)
> ~[pdfone-5.3.17.507.jar:5.3.17.507]
> at com.levigo.jbig2.SegmentHeader.<init>(gn:67)
> ~[pdfone-5.3.17.507.jar:5.3.17.507]
> at com.levigo.jbig2.e.k(hm:148) ~[pdfone-5.3.17.507.jar:5.3.17.507]
> at com.levigo.jbig2.e.<init>(hm:204) ~[pdfone-5.3.17.507.jar:5.3.17.507]
> at com.levigo.jbig2.JBIG2ImageReader.D(uf:275)
> ~[pdfone-5.3.17.507.jar:5.3.17.507]
> at com.levigo.jbig2.JBIG2ImageReader.D(uf:233)
> ~[pdfone-5.3.17.507.jar:5.3.17.507]
> at com.levigo.jbig2.JBIG2ImageReader.read(uf:29)
> ~[pdfone-5.3.17.507.jar:5.3.17.507]
> at org.apache.pdfbox.filter.JBIG2Filter.decode(JBIG2Filter.java:86)
> ~[pdfbox-2.0.3.jar:2.0.3]
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]