使用 OCR 从扫描的 PDF 批量创建可搜索的 PDF 文件

软件推荐 pdf ocr
2021-10-29 03:11:01

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

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

要求:

  • Linux
  • 在后台自动工作,无需任何额外的手动步骤
  • 能够以正确的方式将 OCRed 文本添加回 PDF(以便桌面搜索引擎能够对其进行索引)
  • 能够处理多页PDF文件
2个回答

OCRmyPDF
网站:https
://github.com/jbarlow83/OCRmyPDF 许可:MIT 许可

OCRmyPDF 为扫描的 PDF 文件添加了 OCR 文本层,允许对其进行搜索

pypdfocr
网站:https
://pypi.python.org/pypi/pypdfocr 许可证:ASL 2.0

我编写了一个非常简单的方法来搜索所有pdfs尚未 OCRed 和 OCR 的内容。

我注意到如果一个pdf文件没有任何字体,它通常是不可搜索的。所以知道这一点我们可以使用pdffonts.

的前 2 行pdffonts是表头,所以当一个文件是可搜索的时有超过两行的输出,知道这一点我们可以创建:

gedit check_pdf_searchable.sh

然后粘贴这个

#!/bin/bash 
#set -vx
if ((`pdffonts "$1" | wc -l` < 3 )); then
echo $1
pypdfocr "$1"
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 {}