目标是将所有扫描的文档自动转换为可搜索的PDF文件,而不只是图像。扫描仪将扫描的文档作为PDF文件自动上传到Linux服务器上的共享中。

该软件应该能够监视该文件夹并自动对扫描的文档进行OCR,并将识别出的文本添加到PDF文件中以使其可搜索。它还应该能够很好地处理多页PDF。

要求:


Linux
Linux在后台自动工作,无需任何其他手动步骤
能够以适当的方式将OCRed文本重新添加到PDF中(以便桌面搜索引擎能够对其进行索引)
能够处理多页PDF文件


评论

我猜Adobe Acrobat / Omnipage + Wine或某些VM是不可行的?

您需要实时监控还是只是接受每X倍的检查时间?

@NickWilde如果我可以从足以满足要求的cron作业中调用它,则不必是绝对实时的

另外,我建议不要覆盖原件-如果OCR弄乱了,最好保留它们;将原始名称重命名为%name%.bck.pdf或类似名称对您的用户来说可以吗?

我使用Microsoft OneNote作为OCR工具。右键单击图像,它可以复制图像中的整个文本,还可以搜索图像中的文本。它是免费且准确的,并且可以在Windows上运行,并且支持几乎所有图像格式。我不确定它是否可以在Ubuntu中运行,也不能通过Wine来运行,因为Microsoft Office现在可用于Mac OS,因此OneNote可以在其中运行。但这并不能自动完成,您必须将文件添加到OneNote工作簿中。它搜索多页PDF。值得一提的是,它支持多种语言:)英语,法语,西班牙语也

#1 楼

OCRmyPDF
网站:https://github.com/jbarlow83/OCRmyPDF


OCRmyPDF将OCR文本层添加到扫描的PDF文件中,从而允许要搜索的


#2 楼

pypdfocr
网站:https://pypi.python.org/pypi/pypdfocr

我写了一种非常简单的方法来搜索所有尚未存在的pdfs OCRed和OCR它们。

我注意到,如果pdf文件没有任何字体,通常它是无法搜索的。因此,知道了这一点,我们就可以使用pdffonts了。

pdffonts的前两行是表头,因此当文件可搜索时,有两行以上的输出,因此我们可以创建:

gedit check_pdf_searchable.sh


然后粘贴此

#!/bin/bash 
#set -vx
if ((`pdffonts "" | wc -l` < 3 )); then
echo 
pypdfocr ""
fi


然后使其可执行

chmod +x check_pdf_searchable.sh


然后在目录中列出所有不可搜索的pdf:

ls -1 ./*.pdf | xargs -L1 -I {} ./check_pdf_searchable.sh {}


或在目录及其子目录中:

tree -fai . | grep -P ".pdf$" | xargs -L1 -I {} ./check_pdf_searchable.sh {}