目标是自动将所有扫描的文档转换为可搜索的 PDF 文件,而不仅仅是图像。扫描的文档由扫描仪自动以 PDF 文件的形式上传到 Linux 服务器上的共享中。
该软件应该能够监控文件夹并自动对扫描的文档进行 OCR 并将识别的文本添加到 PDF 文件中以使其可搜索。它还应该能够很好地处理多页 PDF。
要求:
- Linux
- 在后台自动工作,无需任何额外的手动步骤
- 能够以正确的方式将 OCRed 文本添加回 PDF(以便桌面搜索引擎能够对其进行索引)
- 能够处理多页PDF文件
目标是自动将所有扫描的文档转换为可搜索的 PDF 文件,而不仅仅是图像。扫描的文档由扫描仪自动以 PDF 文件的形式上传到 Linux 服务器上的共享中。
该软件应该能够监控文件夹并自动对扫描的文档进行 OCR 并将识别的文本添加到 PDF 文件中以使其可搜索。它还应该能够很好地处理多页 PDF。
要求:
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 {}