我工作中,我加入了這個Maven的依賴關係爲PDFBOX如何修改類文件?
Maven dependency
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>1.6.0</version>
</dependency>
在Eclipse中的項目,我居然也得到了錯誤的某些PDF文件:
Parsing Error, Skipping Object
java.io.IOException: expected='endstream' actual='' [email protected]
at org.apache.pdfbox.pdfparser.BaseParser.parseCOSStream(BaseParser.java:439)
at org.apache.pdfbox.pdfparser.PDFParser.parseObject(PDFParser.java:552)
at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:184)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1088)
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1053)
at org.apache.tika.parser.pdf.PDFParser.parse(PDFParser.java:74)
at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:197)
at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:197)
at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:135)
at org.apache.tika.Tika.parseToString(Tika.java:357)
at edu.uci.ics.crawler4j.crawler.BinaryParser.parse(BinaryParser.java:37)
at edu.uci.ics.crawler4j.crawler.WebCrawler.handleBinary(WebCrawler.java:223)
at edu.uci.ics.crawler4j.crawler.WebCrawler.processPage(WebCrawler.java:460)
at edu.uci.ics.crawler4j.crawler.WebCrawler.run(WebCrawler.java:129)
at java.lang.Thread.run(Thread.java:662)
所以,當我谷歌它,我發現在BaseParser.java文件中有一些錯誤,所以他們只給這個java文件的補丁(https://issues.apache.org/jira/browse/PDFBOX-195)..所以我的問題是我怎麼才能修改這個Java文件..我可以看到BaseParser。在eclipse中的類文件,因爲我附加了PDFBOX-Issue的源文件。任何建議將不勝感激。
您所指的問題已在0.8.0中修復,並且您正在使用該庫的版本1.6.0。你確定這個問題與你的異常有關嗎? – stefanglase
確保它實際上是1.6版。0會出現在您的構建項目中,而不是某個較老的項目,可能會將其作爲您的某個模塊的依賴項。 –