Uvlio

Command Palette

Search for a command to run...

返回文章列表
技术文章

从 PDF 提取文字与图片:可选中文本与 OCR

并非每个 PDF 都把文字存成文字。很多是包在 PDF 容器里的页面照片。不先判断属于哪种情况就选择提取或 OCR,会浪费时间并产生看起来很自信的错误输出。 实用做法是在用户会遇到的相同条件下核对输出,并保留一份你检查过什么的简短记录。
limitcool 维护的 Uvlio 编辑团队2026-05-177 分钟阅读
主题封面PDF 工具PDF 拆分PDF 压缩

从 PDF 提取文字与图片:可选中文本与 OCR

如果能选中文字就提取;如果页面只是图片就需要 OCR。如何判断你属于哪种情况,以及质量预期如何。

文章主题预览
理解原理
检查边界
使用工具
关联工具
PDF 拆分PDF 压缩图片转 PDFPDF 加密
阅读重点
1理解原理
2检查边界
3使用工具

原创流程图

从 PDF 提取文字与图片:可选中文本与 OCR

这张图由 Uvlio 为本文工作流生成,用来说明从输入检查到输出判断的基本路径。
1

理解原理

检查后再进入下一步

2

检查边界

检查后再进入下一步

3

使用工具

检查后再进入下一步

维护与复核
维护者:limitcool。阅读时可重点关注技术原理、处理边界、隐私风险和可验证事实。
可选中文本已经是数字的

如果能在阅读器里高亮单词,PDF 就有文本层或文本绘制指令。提取可以精确复制这些字符,包括间距怪癖。在 OCR 之前先走这条路。对文本 PDF 做 OCR 更慢,还可能制造原件没有的错误。

纯图片页面需要 OCR

扫描件、拍摄的文档和某些传真导出只存像素。没有 OCR,提取器无法恢复可靠文字。OCR 质量取决于分辨率、对比度、语言模型和倾斜。歪斜的收据手机照片永远难于 300 DPI 平板扫描。

隐藏文本层可能与图像不一致

有些 PDF 显示页面图像,同时包含先前 OCR 留下的不可见文本层。复制文字可能得到与所见不同的词。若准确性重要,先把几句提取结果与可见页面比对,再信任整个文件。

字体与编码怪癖

即使原生数字 PDF,在字体使用自定义编码或文字被画成曲线时,提取也可能很差。屏幕上字形正确,复制后却是乱码。此时把页面栅格化再跑 OCR,反而可能比提取更可靠。

图片是另一条提取路径

抽取嵌入图片不等于把页面渲染成 PNG。嵌入提取在资源存在时恢复原始素材;页面渲染把可见的一切(包括文字)压成一张图。按你需要原图还是版式快照来选择。

语言包与混排脚本

OCR 引擎需要正确的语言数据。把中文扫描件当英文处理会得到垃圾结果。混排文档可能需要多语言模式。工具允许时始终显式设置语言;自动检测在短页面和低对比度上会失败。

提取后的校验

抽查数字、姓名和表格列。OCR 常混淆 0 与 O、1 与 l,以及多栏布局。对财务或法律内容,把 OCR 输出当成人必须确认的草稿,而不是成品记录。

把来源信息放在提取文本旁边

没有指回页码和文件的提取文本在审阅中很难信任。尽可能为每个块存储页码,并在同一记录中保留源 PDF 哈希或文件名。若使用了 OCR,注明引擎和语言设置。这些元数据让后来的读者决定文本仍需要多少核实。

补充:Tables are harder than paragraphs

(中文扩写)OCR and extraction both struggle when text sits in multi-column tables or is interrupted by ruled lines. If the goal is a spreadsheet, expect to repair column boundaries after the first pass. For critical tables, a human-in-the-loop review of numeric columns is cheaper than discovering a shifted decimal in production. Prefer tools that can emit CSV with explicit page and bounding-box metadata when the layout is complex.

补充:Language mismatches produce fluent nonsense

(中文扩写)OCR set to the wrong language can still emit readable-looking words that are completely wrong. Always set language explicitly for production batches. For mixed-language pages, prefer multi-language mode or split the document by page language when the tool allows it. Spot-check proper nouns; they fail first when the language model is wrong.

补充:Batch OCR needs failure isolation

(中文扩写)When processing hundreds of pages, one catastrophic page should not discard the batch. Write per-page outputs and a manifest of successes and failures. Retry only the failed pages with different DPI or language settings. Operators then spend time on the hard pages instead of re-running the easy ones overnight.

常见问题

怎么知道需不需要 OCR?

尝试选中文字。如果什么都高亮不了,页面多半是纯图片,需要 OCR。

为什么提取的文字和我看到的不一样?

隐藏 OCR 层可能与可见图像不一致。信任提取前先比对。

更高 DPI 对 OCR 总是更好吗?

有限度。大约 300 DPI 是常见甜点。模糊的高 DPI 照片仍然 OCR 很差。

每个 PDF 都能提取原始图片吗?

只有它们作为图片嵌入时可以。扁平化的页面渲染是快照,不是原始素材。