PDF 转 EPUB 后文字粘连、乱码?问题出在 OCR 这一步
在各大电子书论坛上,有一类问题反复出现:
"转换后单词之间的空格消失了,出现了 'mgoing'、'corruptyour' 这样的东西"
"扫描版的 PDF 转出来全是乱码,完全没法读"
"中文 PDF 转完之后出现大量不认识的字符"
这些问题指向同一个环节——OCR(光学字符识别)。不过,即使你的 PDF 不是扫描件,文字提取这一步也可能出错。让我们来拆解一下到底发生了什么。
两种 PDF,两种问题
文字型 PDF
Word、LaTeX 等软件导出的 PDF 内部是有文字信息的。但这些文字信息的存储方式远没有你想象的那么友好。
PDF 把文字存储为一系列「在坐标(x,y)放置字符」的指令。关键问题在于:PDF 不一定存储了单词之间的空格。两个单词之间的间距可能只是通过坐标偏移来实现的——字母 "m" 在坐标 120,字母 "g" 在坐标 135,中间的空格是靠 15 个像素的间距暗示的。
传统转换器需要自己判断:「120 和 135 之间差了 15 个像素,在 10pt 字号下,这算一个空格还是只是字母间距?」
这个判断经常出错。太严格了,正常的字母间距被当成空格,单词被拆散;太宽松了,单词之间的空格被吞掉,"I'm going" 变成了 "I'mgoing"。
中文 PDF 还有一个额外的复杂度:中文本身不用空格分词,但中英文混排时需要在切换语言的地方正确插入空格。很多转换器在这里翻车。
扫描型 PDF
扫描件 PDF 更棘手——它本质上就是一堆图片,文件里没有任何文字信息。必须用 OCR 来「认字」。
传统 OCR 引擎(如 Tesseract)的工作方式是:
- 对图片做二值化处理(变成纯黑白)
- 切割出每一个字符的轮廓
- 和字符模板库做匹配
- 输出识别结果
这个过程有几个硬伤:
- 字符级识别:每个字符是独立识别的,不理解上下文。所以 "rn" 和 "m" 经常搞混(它们长得太像了),"cl" 和 "d" 也是常见混淆对。
- 排版敏感:如果扫描有轻微倾斜、纸张有褶皱、打印质量不好,识别率会大幅下降。
- 版式盲区:传统 OCR 不理解页面布局。它不知道这块文字是正文还是页码,不知道两栏排版应该怎么读。
MobileRead 论坛上有用户做过实测:一本 129 页的多栏排版 PDF,传统转换器的准确率只有约 60%,多栏格式完全丢失,脚注被折叠进正文。
AI OCR 做了什么不同的事?
pdf2epub.ai 使用的是 Google Gemini Flash——一个多模态大语言模型。它处理 PDF 页面的方式和传统 OCR 有本质区别。
区别一:视觉理解 vs 字符匹配
传统 OCR 是在做模式匹配:这个像素块像字母 "a",那个像字母 "b"。
Gemini 是在做 阅读理解:它「看」整个页面,理解文字在说什么。当它看到 "I'm going" 时,即使某些字符模糊,它也知道这里应该是 "I'm going" 而不是 "I'mgoing"——因为它理解英语的语法和语义。
这意味着:
- 空格问题基本消失。AI 理解单词边界,不需要靠像素间距来猜。
- 形近字混淆大幅减少。"rn" vs "m" 这种问题,AI 通过上下文就能判断。比如 "mo__ing",传统 OCR 可能输出 "moroing",AI 知道这应该是 "morning"。
- 中英文混排自动处理。AI 理解语言切换,会在正确的位置插入适当的空格。
区别二:页面级理解 vs 字符级处理
传统 OCR 先切割字符,再逐个识别。它看到的是一个个孤立的字符轮廓。
Gemini 看到的是 整个页面。它一次性理解页面上所有元素的角色和关系:
这个页面有:
- 一个标题("第三章 量子力学基础")
- 两栏正文
- 左栏底部有一个脚注
- 右上角有页码 "42"
- 底部有一个数学公式
- 中间有一张实验示意图
所有这些判断是同时做出的,相互印证。AI 不会把页码当成正文的一部分,因为它理解页码的视觉位置和功能。
区别三:内容感知的后处理
传统 OCR 输出原始文本后,通常只做简单的拼写检查。
我们的流程在 OCR 之后还有一层 AI 驱动的合并优化:
- 跨页内容衔接:如果一个句子在第 40 页底部被截断,第 41 页顶部继续,AI 会正确地把它们连接起来。
- 脚注标记匹配:AI 会检测正文中的脚注标记(如 ¹²³),并将它们和页面底部的脚注内容正确对应。
- 公式规范化:PDF 中的数学符号(如 x²、∑、∫)会被转换为标准的 LaTeX 格式,确保在 EPUB 中正确渲染。
我的 PDF 是扫描件,转得了吗?
可以。
实际上,扫描件 PDF 是 AI OCR 相对于传统 OCR 优势最大的场景。因为:
- 扫描件没有内部文字结构可以解析,传统方法和 AI 方法的起点是一样的——一张图片
- AI 的视觉理解能力在模糊、倾斜、低分辨率的图片上明显更稳健
- AI 可以利用上下文猜测模糊字符,这是传统字符匹配做不到的
不过也要坦诚地说:如果你的扫描件质量非常差(比如复印了好几代的传真件),任何 OCR 都很难给出完美结果。AI 会比传统 OCR 好不少,但不是魔法。
不同文档类型的表现
| 文档类型 | 传统 OCR 表现 | AI OCR 表现 |
|---|---|---|
| 纯文字小说 | 较好(90%+) | 优秀(99%+) |
| 学术论文(双栏) | 较差(60-70%) | 良好(95%+) |
| 技术手册(含代码) | 差(代码格式丢失) | 良好(保留代码块格式) |
| 数学教材(含公式) | 差(公式变乱码) | 良好(转为 LaTeX) |
| 中英混排文档 | 较差(空格问题) | 良好(自动处理) |
| 低质量扫描件 | 差 | 中等到良好 |
试试看
与其听我说,不如自己试:pdf2epub.ai 注册后有免费额度,拿你最头疼的那本 PDF 转一下看看效果。支持先转几页预览质量,不满意不扣费。