type
status
date
slug
summary
tags
category
icon
标签
参考标签
OCRmyPDF是一个基于Tesseract文字识别引擎的开源项目,可以识别扫描版PDF中的文字并保存为PDF/A或txt格式。它支持多语言识别,跨平台使用,批量识别,PDF页面校正,以及精准定位识别的文字。本文介绍了在Windows和macOS上的安装过程详细,包括安装必需的依赖软件和语言包。OCRmyPDF的识别效果优秀,相较于WPS,其识别出的单词数量更多。

引子

我现在读的专业是一年三学期制,下周就要期末考试了。期末考试是闭卷,但是按照规定,可以带十页参考资料。老师很贴心地给大家划了考试重点,还代劳给我们整理了相关的PDF课件,把重要内容都用高亮的荧光笔标记出来。但这些资料一共有八十页。╮(╯▽╰)╭
一页PDF上有两张PPT,那些带高亮的正文都是图片格式,不是文字格式
一页PDF上有两张PPT,那些带高亮的正文都是图片格式,不是文字格式
老师的这种做法很让人感动,这是在用行动告诉我们:“我一定会手下留情的。”而且最后一节课的主题也非常鲜明:“大家别担心,你们都能过”。老师已经仁至义尽了。
那怎么把这八十页PDF浓缩成十页A4纸,就看自己努力了。其实思路是很简单的,一页纸两张PPT,有用的也就是那些正文。那把PDF识别文字,保存成Word文件,再排排版,应该就差不多了。
但是,问题来了。老师的PDF无法识别文字,尤其是最重要的正文部分。这部分应该是老师截图的,而且加上了高亮,更难识别了。用WPS试了一下,笑死,根本识别不出来,比如前六页PDF,只能识别出下面一点点内容:
WPS文字识别的前六页PPT
WPS文字识别的前六页PPT
但实际上,正确识别的话,内容足足有两页A4纸:
选中的文字是正确识别之后前六页PPT的内容
选中的文字是正确识别之后前六页PPT的内容
指望WPS不行,就换软件嘛。macOS上的PDF Expert口碑一向不错,而且我也买了他们的付费高级功能,应该搞得定。结果,之前付费的高级功能(所谓“点睛套餐”)不包含文字识别和格式转换功能,要买新的超高级功能(“专业版”),而且原价588,现价打五折只要288!韭菜只割两茬,感不感动?
要想使用文字识别和格式转换,盛惠288
要想使用文字识别和格式转换,盛惠288
婉拒了婉拒了。考个免费的期末考试,就不再增加额外成本了。GitHub上那么多大佬开发的开源软件,功能更强,还免费供应,我把这钱省下来捐给他们都好。

简介

在GitHub上有个项目叫OCRmyPDF,是个基于Tesseract文字识别引擎的开源项目,主打扫描版PDF识别文字,可以保存成PDF/A格式,也支持保存为txt格式。非常符合我今天的需要。除此之外,它还有很多其他功能,对于我以后的需要也能满足,比如:
  • 可以识别多种语言文字
  • 可以跨平台(最起码macOS和Windows都能用)
  • 可以批量识别
  • 可以对PDF页面进行校正优化
  • 识别的文字和在页面精准定位,方便复制粘贴
总体而言,功能上非常全面了,在OCR这方面已经拉满了。
notion image

安装软件

Windows

win键+ R 输入cmd打开命令行控制台,按照下面的步骤安装软件。
首先安装Python(必需的依赖软件)
然后安装Tesseract引擎(必需的依赖软件)
再然后安装Ghostscript (必需的依赖软件),在Ghostscript download page的页面上下载Ghostscript 10.02.1 for Windows (64 bit),然后安装。
完成这一步之后可能需要重新启动系统。
最后安装OCRmyPDF

macOS

打开macOS的命令行工具term
首先安装Homebrew(如果你之前没安装过的话)
然后安装OCRmyPDF
安装完成后,可以先输入帮助命令,了解一下有哪些功能

安装语言包支持

对于我现在需要的功能来说,自带的英文就已经足够了,但为了以后的需要,顺便把多语言包给安装了,而且也不挑挑拣拣了,一口气把所有的语言都安装上算了。

Windows

https://github.com/tesseract-ocr/tessdata/下载语言包文件(.traineddata 文件),把下载好的文件复制到Tesseract安装文件夹里(我的是 C:\\Program Files\\Tesseract-OCR\\tessdata
这里是我下载打包好的繁简中文语言包:

macOS

一次性安装全部支持的语言包

识别扫描版PDF并保存为可检索的PDF/A

逐个文件识别英文

现将命令行进入你存放PDF文件的目录,然后运行下面的命令
input.pdf是你想识别的文件名,output是你希望识别后保存的文件名。比如我的命令就是
报错,page already has text! PDF页面上已经有文字了,不是扫描版。(我知道啊,老师就是文字和图片混合穿插的呀!!)
在命令里加上--force-ocr参数,强制进行OCR

逐个文件识别中文或者中英文夹杂

上面的命令默认只识别PDF里的英文,如果要识别的文件里不是英文,要在命令里加参数指定。如果文件是简体中文,参数是-l chi_sim,如果是繁体中文,参数是-l chi_tra,就是语言包的文件名部分。如果是简中加英文,参数是-l chi_sim+eng。比如:

识别后保存文本为TXT文件

OCRmyPDF还有一个sidecar功能(就是挎子摩托车那个边斗),可以在文字是别的同时将文字提取出来保存成纯文本文件
在识别input.pdf文件的文字同时,输出output.pdf文件和output.txt文件。
这就是我这一次想要的功能,所以我的命令就是下面这个:

成果

识别效果还是拔群的,跟WPS识别的TXT文件相比,WPS一共识别了七千多个单词,OCRmyPDF一共识别了两万多字。
WPS(左)识别了7432个单词,OCRmyPDF(右)识别了22442个单词。
WPS(左)识别了7432个单词,OCRmyPDF(右)识别了22442个单词。
但是,听我们一个学习小组的小伙伴说,有一部分高亮的内容还是识别不出来,需要自己再校对编辑的过程里手动补足。反正本来就要调整排版格式,就顺道做了吧。
这样期末的小抄参考资料就准备好了。
OCRmyPDF的功能还有很多,比如优化PDF图像质量、批量文字识别之类的,可以去软件网站自行学习:
 
相关文章
将剑桥英英词典加入Alfred快捷搜索
Lazy loaded image
将Perplexity加入Alfred快捷搜索
Lazy loaded image
NAS需要定时重启吗?
Lazy loaded image
下载 B 站视频的五种方法
Lazy loaded image
B站视频下载神器——哔哩下载姬
Lazy loaded image
乌苏拉·勒·格恩译《道德经》
Lazy loaded image
英语学习与英文报刊杂志精读转载:Michael O Church’s Theory of 3 Class Ladders in America
Loading...
TZ
TZ
阅尽千帆终执手,此心安处是吾乡
最新发布
振臂高呼GPT必应
2025-2-3
将剑桥英英词典加入Alfred快捷搜索
2025-2-3
【转载】美国霸权的衰落
2025-2-2
将Perplexity加入Alfred快捷搜索
2025-2-1
五行旺衰
2025-1-30
正视中美差距
2025-1-30
2017-2025TZ.

阅千帆 | 阅尽千帆终执手,此心安处是吾乡

Powered byNotionNext 4.8.3.