我终于找到了一个可以本地把扫描版的中文PDF变成可搜索的PDF的命令行工作流程。具体方式为安装支持中文包的ocrmypdf这一开源软件。
安装流程
以下为在Mac上配置的流程。其他系统可以参考官方帮助网页:
- 安装Brew
- 安装翻译引擎和全部语言包
brew install tesseract --with-all-languages brew install ghostscript brew install poppler brew install imagemagick
- 安装ocrmypdf
brew install ocrmypdf
使用范例
官方使用范例
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
使用ocrmypdf扫描中英文混排的PDF
ocrmypdf -l eng+chi_sim input.pdf output.pdf
其中中文有四个选项,分别为
- chi_sim 横排简体中文
- chi_sim_vert 竖排简体中文
- chi_tra 横排繁体中文
- chi_tra_vert 竖排繁体中文 把英文放在中文前面应该是会比反过来放的效果更好。
把PDF的每一页分割为单页PDF
pdfseparate cn1.pdf -f 1 -l 10 out_%d.pdf
-f 指定分割开始的第一页, -l 指定分割的最后一页。
高级功能
根据ocrmypdf的pip页面,ocrmypdf还原生支持许多高级功能,比如监控并自动翻译指定目录下的PDF文件,自动把OCR完成的PDF移动到其他目录甚至是上传到Evernote。