Tuesday, March 21, 2023

OCRmyPDF 很好用

我之前写了几篇关于纸质文件电子化的文章,介绍如何将纸质文件转换为 PDF 文件来保存。在此,我再次归纳一下步骤和几个工具:

  • 用 Irfanview 扫描纸质文件,生成第一层 TIFF 文件。如果纸质文件的长度超过一定尺寸,需要使用 Hugin 来拼接。
  • 使用 Scantailor Advanced 处理第一层 TIFF 文件,生成第二层 TIFF 文件。
  • 使用在线计算器可以计算某种尺寸的纸张在特定分辨率下所对应的像素点数。我使用 Irfanview 或 GIMP 对第二层 TIFF 文件进行剪切、清理杂点等编辑工作。
  • 使用 Irfanview 的命令行将 TIFF 文件转换成 PDF 文件。
  • 使用 PDFtk Server 的命令行将一页页的 PDF 文件合并。
  • 使用 Ghostscript 的命令行压缩 PDF 文件。

以上所有命令行操作都可以通过批处理文件实现。我用这个流程处理了成百上千张的纸质文件。

然而,这个流程少了一步:将 PDF 文件中的文字提取出来并覆盖到 PDF 自身中。这个步骤很重要,因为这样的 PDF 文件的内容可以被搜索。

我可以使用 Tesseract Open Source OCR Engine 来实现这一步,但是我在网上找到的操作指南过于复杂,效果也不是特别理想,因此我很少进行这一步操作。还有一个原因是现在文字识别技术已经非常发达,手机、Dropbox、微信等平台都可以直接读取图片或 PDF 上的文字。尽管如此,具有可搜索性的 PDF 文件可以在更多的环境下被检索。

今天我发现了一个免费工具 OCRmyPDF,这个工具使用 Tesseract Open Source OCR Engine 开发而成。作者开发这个工具的初衷是因为发现其他工具效果不够理想。我今天试用了一下 OCRmyPDF,使用非常简便,效果十分出色!

上面的流程应该加上这一步:

  • 使用 OCRmyPDF 将文本层添加到 PDF 文件,这样让 PDF 的内容可搜索。

以后,我不会再省略这一步了。

+++++

Windows 下如何安装 OCRmyPDF

在 Apple 公司的 macOS 这种基于 Unix 或者其他基于 Linux 的电脑上安装 OCRmyPDF 十分容易。

在 Windows 下直接安装 OCRmyPDF 需要先安装 Python、Tesseract、Ghostscript,再安装 Chocolatey 软件包管理器,步骤很多,太复杂了。我不推荐这种方法。OCRmyPDF 还可以间接地安装在 Windows Subsystem for Linux (WSL) 、Cygwin64 或者 Docker 里面。其中在 WSL 里面这种方法最简单,只需要一个命令行就行了。

官方的安装指南请看这里,在这里我不多说了。

我以前写过关于 WSL 的文章,详见这里。微软公司也有十分详尽的 WSL 文献。在此,我也不赘叙。

No comments:

Post a Comment