получить вывод hocr с тика-сервера - PullRequest
2 голосов
/ 09 января 2020

Я делаю OCR для файла PDF, используя Apache TIKA Server.

Мне интересен вывод hOCR , но мне удается получить вывод только в текстовом формате.

Следуя вики и коду , я пытаюсь настроить Tesseract с использованием X-Tika-OCR... HTTP-заголовков. В этом случае я использую HTTP-заголовок X-Tika-OCRoutputType: hocr, но я получаю вывод в виде простого текста или html без тегов HOCR.

Я пробовал обе конечные точки /tika и /rmeta.

Используемые мной команды curl:

curl -v -X PUT --data-binary @file.pdf \
     "http://tika-server:8081/tika" \
     -H "Content-Type: application/pdf" \
     -H "X-Tika-OCRoutputType: hocr"

curl -v -X PUT --data-binary @file.pdf \
     "http://tika-server:8081/rmeta" \
     -H "Content-Type: application/pdf" \
     -H "X-Tika-OCRoutputType: hocr"

Я также попытался установить для заголовка Accept значение text / plain, text / html text / x html и text / hocr. Ни один не работает. Последний получает ошибку.

Я использую:

  • Apache Tika 1.22
  • Tesseract 4.1.0-3.1.x86_64
  • RedHat 7

1 Ответ

0 голосов
/ 06 февраля 2020

Изучив код интеграционного теста TikaResourceTest, я понял, что отсутствует HTTP-заголовок. Правильная команда должна включать HTTP-заголовок X-Tika-PDFOcrStrategy: ocr_only. Подробнее см. В ocr & pdf документах парсера

Команда, таким образом, будет:

curl -v -X PUT \
     --data-binary @file.pdf \
     -H "Content-Type: application/pdf" \
     -H "X-Tika-PDFOcrStrategy: ocr_only" \
     -H "X-Tika-OCROutputType: hocr" \
     "http://tika-server:8081/tika"

...