You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tika.apache.org by "Tim Allison (JIRA)" <ji...@apache.org> on 2014/08/01 20:15:39 UTC

[jira] [Commented] (TIKA-1372) PDCheckbox NPE

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

Tim Allison commented on TIKA-1372:
-----------------------------------

Looked at the stacktrace a bit more closely.  This was actually caused by PDFBOX-2161, which was fixed nearly instantly by [~jahewson].  Tika still has a defensive NPE catch block to handle this.  Answer is still the same: this is fixed in Tika 1.6.

> PDCheckbox NPE
> --------------
>
>                 Key: TIKA-1372
>                 URL: https://issues.apache.org/jira/browse/TIKA-1372
>             Project: Tika
>          Issue Type: Bug
>            Reporter: Tilman Hausherr
>
> One of your users, [~mdhussain], opened PDFBOX-2218:
> PDF parsing fails for attached PDF.
> Stack trace of failure:
> {code}
> Exception in thread "main" org.apache.tika.exception.TikaException: Unexpected RuntimeException from org.apache.tika.parser.pdf.PDFParser@1747c
> 	at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:244)
> 	at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:242)
> 	at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:120)
> 	at com.sabax.extraction.FileExtractionHandler.getFileData(FileExtractionHandler.java:145)
> 	at GenerateIndex.main(GenerateIndex.java:59)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
> Caused by: java.lang.NullPointerException
> 	at org.apache.pdfbox.pdmodel.interactive.form.PDCheckbox.getOnValue(PDCheckbox.java:141)
> 	at org.apache.pdfbox.pdmodel.interactive.form.PDCheckbox.isChecked(PDCheckbox.java:79)
> 	at org.apache.pdfbox.pdmodel.interactive.form.PDRadioCollection.getValue(PDRadioCollection.java:128)
> 	at org.apache.tika.parser.pdf.PDF2XHTML.addFieldString(PDF2XHTML.java:507)
> 	at org.apache.tika.parser.pdf.PDF2XHTML.processAcroField(PDF2XHTML.java:461)
> 	at org.apache.tika.parser.pdf.PDF2XHTML.processAcroField(PDF2XHTML.java:479)
> 	at org.apache.tika.parser.pdf.PDF2XHTML.extractAcroForm(PDF2XHTML.java:447)
> 	at org.apache.tika.parser.pdf.PDF2XHTML.endDocument(PDF2XHTML.java:195)
> 	at org.apache.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:341)
> 	at org.apache.tika.parser.pdf.PDF2XHTML.process(PDF2XHTML.java:106)
> 	at org.apache.tika.parser.pdf.PDFParser.parse(PDFParser.java:143)
> 	at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:242)
> 	... 9 more
> {code}
> Sample code use to parse
> {code}
> TikaInputStream tikaStream = TikaInputStream.get(stream);
>     TikaResultWrapper result;
>     try {
>       long streamSize = tikaStream.getLength();
>       Metadata metadata =
>         constructMetadata(fileName, mimeType, streamSize);
>       if (streamSize < maxFileSize) {
>         SamplingSaxHandler handler =
>           new SamplingSaxHandler(samplingSize, metadata);
>         handler.setBufferLimit(bufferSize);
>         parser.parse(tikaStream, handler, metadata, new ParseContext());
>         result = handler.getResult();
>       } else {
>         result = new TikaResultWrapper(null, metadata);
>       }
>     } finally {
>       tikaStream.close();
>     }
>     return result;
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)