You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Andreas Lehmkühler (JIRA)" <ji...@apache.org> on 2009/05/13 21:26:46 UTC

[jira] Commented: (PDFBOX-470) corrupt zip stream causes document to not parse

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

Andreas Lehmkühler commented on PDFBOX-470:
-------------------------------------------

Perhaps it would be sufficient to add some more catch-clauses for these exceptions to the FlateFilter (see PDFBOX-453)

> corrupt zip stream causes document to not parse
> -----------------------------------------------
>
>                 Key: PDFBOX-470
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-470
>             Project: PDFBox
>          Issue Type: Bug
>    Affects Versions: 0.8.0-incubator
>            Reporter: Sean Bridges
>
> This is with svn revision 774426
> PDFParser is not very forgiving with respect to bad compressed input streams.  I am processing a set of 13,000 pdf files, and I see 10 exceptions of the form,
> Caused by: java.io.EOFException: Unexpected end of ZLIB input stream
> 	at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:223)
> 	at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:141)
> 	at org.apache.pdfbox.filter.FlateFilter.decode(FlateFilter.java:101)
> 	at org.apache.pdfbox.cos.COSStream.doDecode(COSStream.java:301)
> 	at org.apache.pdfbox.cos.COSStream.doDecode(COSStream.java:221)
> 	at org.apache.pdfbox.cos.COSStream.getUnfilteredStream(COSStream.java:156)
> 	at org.apache.pdfbox.pdfparser.PDFStreamParser.<init>(PDFStreamParser.java:87)
> 	at org.apache.pdfbox.cos.COSStream.getStreamTokens(COSStream.java:118)
> 	at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:204)
> 	at org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:176)
> 	at org.apache.pdfbox.util.PDFTextStripper.processPage(PDFTextStripper.java:358)
> 	at org.apache.pdfbox.util.PDFTextStripper.processPages(PDFTextStripper.java:282)
> 	at org.apache.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:238)
> 	at org.apache.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:171)
> And one,
> Caused by: java.util.zip.ZipException: invalid bit length repeat
> 	at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:147)
> 	at org.apache.pdfbox.filter.FlateFilter.decode(FlateFilter.java:101)
> 	at org.apache.pdfbox.cos.COSStream.doDecode(COSStream.java:301)
> 	at org.apache.pdfbox.cos.COSStream.doDecode(COSStream.java:221)
> 	at org.apache.pdfbox.cos.COSStream.getUnfilteredStream(COSStream.java:156)
> 	at org.apache.pdfbox.pdfparser.PDFStreamParser.<init>(PDFStreamParser.java:87)
> 	at org.apache.pdfbox.cos.COSStream.getStreamTokens(COSStream.java:118)
> 	at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:204)
> 	at org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:176)
> 	at org.apache.pdfbox.util.PDFTextStripper.processPage(PDFTextStripper.java:358)
> 	at org.apache.pdfbox.util.PDFTextStripper.processPages(PDFTextStripper.java:282)
> 	at org.apache.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:238)
> 	at org.apache.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:171)
> It would be nice if we could recover from this error, rather than failing to parse the file.  By commenting out line 314 of COSStrean
>         if( !done )
>         {
>             //throw exception;
>         }
> The parser works correctly, and I am able to extract text from these documents.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.