可以 运行 两个 ContentHandlers 用于 Apache-Tika 中的单个解析?

Possible to run two ContentHandlers for a single parse in Apache-Tika?

我正在使用 Apache Tika 解析文档并生成文档的明文版本和 HTML 预览。如果我两次调用 parse 函数并传入两个单独的 ContentHandler,我就可以很好地生成这两个文件——这对纯文本文档非常有用。但是当我得到需要使用 tesseract 进行 OCR 的文档时,这有点问题——调用 parse 函数两次是非常浪费的,因为它也执行两次 OCR(这可能需要一分钟左右)。

我知道我可以编写自己的 ContentHandler,但只是想知道是否有人知道这方面的现成解决方案?非常感谢!

好消息 - Apache Tika 为此提供了开箱即用的东西!

TeeContentHandler - Content handler proxy that forwards the received SAX events to zero or more underlying content handlers.

只需创建 2 个以上的真实内容处理程序,将它们传递给 constructor of TeeContentHandler,然后在进行解析时将 TeeContentHandler 传递给 Tika