指定的流长度是错误的。回到阅读流直到endstream

时间:2015-10-28 13:28:21

标签: java solr pdfbox apache-tika

我尝试使用ExtractingRequestHandler发送PDF文档进行解析。 (特别是我使用SolrNet,但我认为它与此问题无关。)

但是,对于我发送的每个PDF文件,我在日志中收到以下警告(来自Solr Admin): enter image description here

根据我所研究的内容,当PDFBox读取时,某些PDF会发生这种情况。我找到了一个类似的bug report here,表示要更改pushbacksize。 问题是我使用Solr 5.2.1并且无法弄清楚如何配置此设置。有没有办法配置Solr所以我可以索引这些文件?

1 个答案:

答案 0 :(得分:2)

您的PDF文件已损坏。 PDF流对象如下所示:

4 0 obj
<<
/Length 34841
>>
stream
... content (which should have a length of 34841 bytes) ...
endstream
endobj

所以如果&#34; endstream&#34;如果没有出现在预期的偏移量中,则会显示所描述的消息。这意味着PDFBox尝试了一个&#34;计划B&#34 ;;如果没有显示进一步的消息,则将处理PDF。您所能做的就是告诉PDF的创建者干净利落地工作,即正确计算流长度。或者避免在&#34;廉价&#34;中打开PDF文件。文本编辑器并保存它。

问题PDFBOX-2381描述了一个不同的错误,即回推缓冲区太小。