PDF OCR 文字识别
我要提建议扫描件 / 图片型 PDF 识别成可编辑文字:PP-OCRv4(中文更准)与 Tesseract(英文更快)双引擎,可导出 Word / Markdown / 纯文本。
相关工具
这个工具是做什么的
扫描件里的文字是图片,直接读是读不出来的,必须走 OCR(看图认字)。这个工具给了两个引擎,按语言选最快的那个:PP-OCRv4(PaddleOCR 的检测 + 识别模型,中英文通用,中文、密集文本明显更准 —— 它就是本站车牌识别在用的那两个模型,已随仓库提交,不额外下载)与 Tesseract(老牌引擎,英文与规整印刷体更快,中文精度一般,引擎与中英文语言包 6.3MB 也随仓库提交)。流程是:把每一页按你选的清晰度(150/200/300 DPI,越高越慢)渲染成位图 → 交给引擎逐行识别 → 再按行距、缩进、字号、标点把行合并成段落(与「PDF 转 Word」共用同一套段落复原规则)→ 导出 Word / Markdown / 纯文本。界面上会给出每页的识别行数、字数与平均置信度,段落也能先预览再导出。必须说清的限制:OCR 一定会有错字(数字、标点、生僻字最容易错),别把结果直接当法律文书用;它也不理解表格与分栏,会把文字按阅读顺序平铺出来。全程在本机用本地模型推理,数据不出设备;语言包首次会缓存到本地(IndexedDB),第二次更快。
使用方法
- 选择扫描件 PDF;工具会读出页数,并在模型不到位时自动切到可用的引擎。
- 选引擎(中文为主选 PP-OCRv4,纯英文选 Tesseract)、清晰度与页码范围。
- 点「开始识别」,进度里会显示当前页、识别到第几行以及预计剩余时间。
- 看右侧的每页置信度与段落预览,确认没问题后选输出格式并导出。
常见问题
- 为什么识别结果总有错字?
- OCR 本质是「看图认字」,不是读取文字,所以不存在 100% 准确。经验上:清晰的印刷体错误率最低;数字(0/O、1/l、5/S、8/B)、标点、生僻字最容易错;倾斜、褶皱、印章覆盖、低分辨率会明显变差。界面上给了每页平均置信度,低于 85% 建议人工通读一遍。
- 两个引擎怎么选?
- 中文(尤其密集正文、表格里的字)优先 PP-OCRv4:它是为中文训练的检测 + 识别模型,本站车牌识别用的就是它;纯英文或中英混排但以英文为主,可用 Tesseract 的 eng(更快)。也可以先只跑第 1 页,把两个引擎的结果对比一下再决定跑整本。
- 清晰度(DPI)选多少?
- 200 是多数扫描件的甜点;字特别小(报纸、合同小字)用 300;字很大、只求快用 150。注意 DPI 只影响渲染分辨率 —— 原扫描图本身分辨率低的话,调高 DPI 不会凭空多出细节。
- 会识别表格结构吗?
- 不会。表格里的文字会被逐行识别出来,但单元格的对应关系不保留(可能变成一列列的文字)。表格还原属于版面分析,是另一个量级的工程。
- 文件会上传吗?识别模型从哪来?
- 数据不出设备。PP-OCRv4 的两个 ONNX 模型(约 15.6MB)随仓库提交,Tesseract 的引擎与中英文语言包(6.3MB)也已随仓库提交,运行时全部从本站静态资源加载,不依赖任何 CDN。