Как изменить языковой параметр, который Тика передает в 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