指定的流长度错误。回到阅读流直到结束

Specified stream length is wrong. Fall back to reading stream until endstream

我正在尝试使用 ExtractingRequestHandler. (Specifically I'm using SolrNet 发送 PDF 文档进行解析,但我认为这与此问题无关。

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

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

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

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

因此,如果 "endstream" 没有出现在预期的偏移量处,您就会收到所描述的消息。这意味着 PDFBox 尝试 "Plan B";如果没有显示更多消息,则将处理 PDF。您所能做的就是告诉 PDF 的创建者干净地工作,即正确计算流长度。或者避免在 "cheap" 文本编辑器中打开 PDF 文件并保存它。

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