PdfBox-Android
PdfBox-Android copied to clipboard
Reading the stream with harmony crashes
Hi,
I'm on master branch at commit "2e1fe1ee7ab Add CCITTFactory".
The harmony library crashed when opening the attached document with the PdfTextStripper: GouvQC_Texte_78p.pdf
For now, I've just reverted 8e91a5c0ac to still use OpenJDK, and commented out a few things in LosslessFactory. Works fine 'till now. Unfortunately, I was not able to find the real fix, but thought it might help you to get a more stable release if I shared it.
Here's the logcat:
java.lang.IndexOutOfBoundsException: Invalid index 3, size is 3
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at com.tom_roush.harmony.javax.imageio.stream.RandomAccessMemoryCache.getData(RandomAccessMemoryCache.java:96)
at com.tom_roush.harmony.javax.imageio.stream.MemoryCacheImageInputStream.read(MemoryCacheImageInputStream.java:54)
at com.tom_roush.harmony.javax.imageio.stream.ImageInputStreamImpl.readBit(ImageInputStreamImpl.java:369)
at com.tom_roush.harmony.javax.imageio.stream.ImageInputStreamImpl.readBits(ImageInputStreamImpl.java:402)
at com.tom_roush.pdfbox.filter.LZWFilter.doLZWDecode(LZWFilter.java:107)
at com.tom_roush.pdfbox.filter.LZWFilter.decode(LZWFilter.java:92)
at com.tom_roush.pdfbox.cos.COSInputStream.create(COSInputStream.java:86)
at com.tom_roush.pdfbox.cos.COSStream.createInputStream(COSStream.java:161)
at com.tom_roush.pdfbox.pdmodel.common.PDStream.createInputStream(PDStream.java:219)
at com.tom_roush.pdfbox.pdmodel.graphics.image.PDImageXObject.<init>(PDImageXObject.java:0)
at com.tom_roush.pdfbox.pdmodel.graphics.PDXObject.createXObject(PDXObject.java:51)
at com.tom_roush.pdfbox.pdmodel.PDResources.getXObject(PDResources.java:323)
at com.example.ProcessPdfImages.process(ProcessPdfImages.java:63)
at com.tom_roush.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:798)
at com.tom_roush.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:460)
at com.tom_roush.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:437)
at com.tom_roush.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:146)
at com.tom_roush.pdfbox.text.PDFTextStreamEngine.processPage(PDFTextStreamEngine.java:107)
at com.tom_roush.pdfbox.text.PDFTextStripper.processPage(PDFTextStripper.java:354)
at com.tom_roush.pdfbox.text.PDFTextStripper.processPages(PDFTextStripper.java:290)
at com.tom_roush.pdfbox.text.PDFTextStripper.writeText(PDFTextStripper.java:235)
at com.tom_roush.pdfbox.text.PDFTextStripper.getText(PDFTextStripper.java:196)
at com.example.CustomPDFStripper.savePageSegmentation(CustomPDFStripper.java:66)
at com.example.PdfTextExtractionRemoteService.extractText(PdfTextExtractionRemoteService.java:118)
at com.example.PdfTextExtractionRemoteService.access$000(PdfTextExtractionRemoteService.java:25)
at com.example.PdfTextExtractionRemoteService$1.startExtraction(PdfTextExtractionRemoteService.java:50)
at com.example.ITextExtractionService$Stub.onTransact(ITextExtractionService.java:63)
at android.os.Binder.execTransact(Binder.java:453)
... and thanks for the great job!