如何更改Tika传递给Tesseract OCR的语言参数?

时间:2017-11-24 14:25:04

标签: apache-tika tika-server

目前我使用tika-app-1.16.jar来OCR我的PDF(与Tesseract结合使用时): java -jar tika-app-1.16.jar /tmp/testing/input.pdf

但是,默认情况下它只支持英语。我希望找到一种传递不同语言的方法。

关于文件:

  

使用OCR Parser时,Tika将使用以下默认设置:

     
      
  • Tesseract安装路径=""
  •   
  • 语言词典=" eng"
  •   
  • 页面细分模式=" 1"
  •   
  • Minmum文件大小= 0
  •   
  • 最大文件大小= 2147483647
  •   
  • 超时= 120
  •   
     

要更改这些设置,您可以修改tika-parser / src / main / resources / org / apache / tika / parser / ocr中的现有TesseractOCRConfig.properties文件,或者通过创建自己的文件并将其置于在你的类路径上打包org / apache / tika / parser / ocr。

     

值得注意的是,在使用其中一个可执行JAR(tika-app或tika-server JAR)时执行此操作将要求您在不使用-jar命令的情况下执行它们。例如,tika-app或tika-server的内容分别如下:

     

java -cp /path/to/your/classpath:/path/to/tika-app-X.X.jar 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 App的用户,除了sytem属性和environement变量之外,您还可以使用--config = [tika-config.xml]选项选择要使用的其他Tika Config XML文件

     

对于Tika Server的用户,除了sytem属性和environement变量之外,还可以使用-c [tika-config.xml]或--config [tika-config.xml]选项来选择不同的要使用的Tika Config XML文件

但是,我还没有找到可以改变Tesseract OCR使用的语言的tika-config.xml的工作示例。有没有可用的例子?

1 个答案:

答案 0 :(得分:0)

我正在使用下一个“拐杖”-用具有相同名称的bash脚本替换原始的 tesseract 文件,该脚本替换运行参数=)

我的/ 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