Как изменить языковой параметр, который Тика передает в Tesseract OCR?

В настоящее время я использую tika-app-1.16.jar для распознавания моих PDF-файлов (в сочетании с Tesseract): java -jar tika-app-1.16.jar /tmp/testing/input.pdf

Однако по умолчанию он поддерживает только английский язык. И я хотел бы найти способ передать другой язык.

Что касается документации:

При использовании OCR Parser Tika будут использоваться следующие настройки по умолчанию:

  • Путь установки Tesseract = ""
  • Language dictionary = "Eng"
  • Режим сегментации страницы = "1"
  • Минимальный размер файла = 0
  • Максимальный размер файла = 2147483647
  • Тайм-аут = 120

Чтобы изменить эти настройки, вы можете изменить существующий файл TesseractOCRConfig.properties в tika-parser / src / main / resources / org / apache / tika / parser / ocr или переопределить его, создав собственный файл и поместив его в пакет org / apache / tika / parser / ocr на вашем пути к классам.

Стоит отметить, что для этого при использовании одного из исполняемых JAR-файлов, или JAR-файлов tika-app, или tika-server, вам потребуется выполнить их без использования команды -jar. Например, что-то вроде следующего для tika-app или tika-server, соответственно:

java -cp / path / to / your / classpath: / path / to / tika-app-XXjar org.apache.tika.cli.TikaCLI

java -cp /path/to/your/classpath:/path/to/tika-server-1.7-SNAPSHOT.jar org.apache.tika.server.TikaServerCli

а также

Для пользователей приложения Tika, в дополнение к свойству sytem и переменной environement, вы также можете использовать параметр --config=[tika-config.xml], чтобы выбрать другой XML-файл Tika Config для использования.

Для пользователей сервера Tika в дополнение к свойству sytem и переменной environement вы также можете использовать опции -c [tika-config.xml] или --config [tika-config.xml], чтобы выбрать другой XML-файл Tika Config файл для использования

Однако мне не удалось найти работающий пример tika-config.xml, который бы изменил язык, используемый Tesseract OCR. Есть ли примеры?

1 ответ

Я использую следующий "костыль" - замените оригинальный файл tesseract на bash-скрипт с тем же именем, который заменит аргументы run =)

Мой файл /usr/bin/tesseract:

#!/bin/sh

args=$@
args=${args/eng/rus} #replace eng => rus 
export TESSDATA_PREFIX=/usr/share/tesseract/
# tesseract_ori <-- original tesseract 
/usr/bin/tesseract_ori $args >> /tmp/tess.log 2>&1
Другие вопросы по тегам