我有一份质量良好的文档扫描件;该扫描件是 pdf 格式。
我如何将 OCR 信息添加到 PDF 中,以便可以搜索?我所说的可搜索是指,目标是在使用 evince 查看 PDF 时,CTRL-F 实际上允许我在 PDF 内容中进行搜索。
答案1
pdfsandwich
满足您的需求并提供 Ubuntu deb 软件包。它使用 tesseract 作为 OCR 引擎。以下调用将文本层添加到扫描的 PDF 中:
pdfsandwich scanned.pdf
下面的操作相同,但使用另一种语言(ISO 639-2代码,下载tesseract-ocr-LANGCODE
包)并设置布局:
pdfsandwich -verbose -lang spa -layout single scanned.pdf
如果您遇到任何错误,请从 Sourceforge 下载最新版本的 deb。
免责声明:我是 pdfsandwich 的开发人员,因此显然有偏见。
答案2
答案3
一个易于实施的解决方案,并提供与输入文件具有相同质量且合理大小的输出pdf是OCR我的PDF:
OCRmyPDF 为扫描的 PDF 文件添加 OCR 文本层,以便搜索或复制粘贴。
ocrmypdf # it's a scriptable command line program -l eng+fra # it supports multiple languages --rotate-pages # it can fix pages that are misrotated --deskew # it can deskew crooked PDFs! --title "My PDF" # it can change output metadata --jobs 4 # it uses multiple cores by default --output-type pdfa # it produces PDF/A by default input_scanned.pdf # takes PDF input (or images) output_searchable.pdf # produces validated PDF output
答案4
对于命令行解决方案,您可以使用pdfocr。
简而言之,安装软件:
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:gezakovacs/pdfocr
$ sudo apt-get update
$ sudo apt-get install pdfocr
然后运行 pdfocr:
$ pdfocr -i scanned.pdf -o scanned.with.search.pdf
这在 Ubuntu 12.04 LTS 上对我有用。