【问题标题】:How do I force tika server to exclude the TesseractOCRParser using curl如何强制 tika 服务器使用 curl 排除 TesseractOCRParser
【发布时间】:2025-12-19 08:00:06
【问题描述】:

我正在使用 tesseract 运行 tika-server-1.23.jar,并使用 curl 通过 php 从文件中提取文本。有时使用 OCR 运行需要很长时间,所以我偶尔想排除运行 tesseract。我可以通过插入来做到这一点

<parser-exclude class="org.apache.tika.parser.ocr.TesseractOCRParser"/>

在 tika config xml 文件中,但这意味着它永远不会运行 tesseract。

我可以强制 tika 服务器通过 curl 在每个请求中选择性地跳过使用 tesseract 吗?如果可以,如何?

我有一个解决方法,我正在运行 tika 服务器的两个实例,每个实例都有一个不同的配置文件在不同的端口上侦听,但这是次优的。

提前致谢。

【问题讨论】:

    标签: ocr tesseract apache-tika


    【解决方案1】:

    您可以使用 PDF 文件的标题设置 OCR 策略,其中包括一个不 OCR 的选项:

    curl -T test.pdf http://localhost:9998/tika --header "X-Tika-PDFOcrStrategy: no_ocr"
    

    对于其他文件类型并没有真正的等效项,但有一个类似的标题前缀调用 X-Tika-OCR,它允许您在用于任何文件类型时在 TesseractOCRConfig 实例上设置配置。

    您有一些可能对您的场景感兴趣的选项:

    • maxFileSizeToOcr - 你可以设置为 0
    • 超时 - 您可以将其设置为您愿意给予的超时时间
    • tesseractPath - 你可以设置任何东西,好像它找不到它,它无法执行

    因此,例如,如果您想跳过一个文件,您可以将最大文件大小设置为 0,这意味着它不会被处理:

    curl -T testOCR.jpg http://localhost:9998/tika  --header "X-Tika-OCRmaxFileSizeToOcr: 0"
    

    或者设置路径为/dummy

    curl -T testOCR.jpg http://localhost:9998/tika  --header "X-Tika-OCRtesseractPath: /dummy"
    

    如果您愿意,当然也可以将这些标题用于 PDF 文件。

    【讨论】:

    • X-Tika-OCRmaxFileSizeToOcr: 0 对我有用。谢谢。
    • 在您评论的背面,我还发现了这一点,其中包含有关标题和设置中可以包含的内容的更多信息。再次感谢。 *.com/questions/62011038/…