Tesseract将图像批量转换为可搜索的PDF和多个对应的文本文件

时间:2019-08-01 02:36:15

标签: linux python-3.x ocr tesseract

我正在使用tesseract将图像列表批量转换为可搜索的PDF以及包含OCRd文本的TXT文件。

tesseract infile outfile -l eng myconfig
  • 文件包含要处理的图像路径列表
  • myconfig 包含tesseract首选项,用于指定输出类型( tessedit_create_text 1 tessedit_create_pdf 1

这给了我 outfile.pdf outfile.txt ,后者包含用于分隔图像之间文本的页面分隔符。

但是,我真正要做的是使用相同的对应图像名称在每个图像的基础上输出多个TXT文件。例如,Image1.jpg.txt,Image2.jpg.txt,Image3.jpg.txt ...

tesseract是否可以选择本地支持此行为?我意识到我可以遍历图像文件列表并逐个图像执行tesseract,但这并不理想,因为我还必须第二次运行tesseract才能生成合并的PDF。相反,我想同时运行这两个选项,而总的执行时间却更少。

我还意识到我可以将页面分隔符上的合并TXT文件拆分为多个文本文件,但是随后我必须引入不太雅致的代码来映​​射和重命名所有这些拆分文件以对应其原始图像名称:< em>将0001.txt重命名为Image1.jpg.txt ...

我正在使用Python 3和Linux命令。

3 个答案:

答案 0 :(得分:0)

由于Tesseract似乎没有本机处理,因此我刚刚开发了一个函数,用于将页面分隔符上的合并TXT文件拆分为多个文本文件。尽管从我的观察来看,我不确定Tesseract是否可以同时将批处理图像同时转换为PDF和TXT(运行两次-对PDF一次,对TXT一次)运行起来会更快。

答案 1 :(得分:0)

您可以准备一个批处理文件,该批处理文件循环遍历输入图像,并同时输出到txtpdf -效率更高,只需一次OCR操作即可,而不是两次。然后,您可以将输出的.txt文件拆分为页面。

tesseract inimagefile outfile txt pdf

答案 2 :(得分:0)

谢谢!

顺便说一句,我正在使用4.1.1。

然后,我发现了另一种针对西班牙语的训练有素的方法,它比标准方法做得更好。实际上可以很好地识别“ o”字符。唯一的问题是处理时间,但是我让PC过夜工作。

老实说,我不知道新的trainingata文件如何更好地完成这项工作。我在下载: https://github.com/tesseract-ocr/tessdata_best