如何在不上传的情况下从 PDF 中提取文本?
数字 PDF 精确地提供其文本,而扫描件必须被识别。你拥有的是哪种文件,六个测量装置所做的,25 页的上限,以及你无论如何都要支付的下载费用。
· Updated
两个文件都可以以 .pdf 结尾,但提取文本所需的工作完全不同。一个是通过文字处理器打印到 PDF 的,已经包含了字符。另一个是纸张的照片,封装在 PDF 中。我们的 PDF 到文本页面 在你的浏览器标签中打开文件,检查每一页并提取该页所需的内容。你的文档从未离开磁盘。
两个引擎共享这个标签。pdf.js,Mozilla 的 PDF 阅读器,解析文档并提供存储的文本或页面的渲染图像。编译为 WebAssembly 的 Tesseract 在页面是图片时识别该页面。两者都从这个域提供,并在你第一次运行后进行缓存。
为什么一个 PDF 是精确的而另一个被识别?
PDF 是一个容器,ISO 32000-1 规范 为其提供了存储文本操作符及其在页面上位置的地方。生成 PDF 的软件在其中写入真实字符,因此提取它们是一个读取操作。没有任何猜测。这是“精确”一词唯一适用的地方。
扫描件根本不包含任何字符。每一页都被拍照,图像被封装在 PDF 中,因此这些页面被逐一渲染并通过 OCR 处理。它们继承了该引擎的准确性及其失败模式,我们在截图到文本的写作中进行了测量。同样的引擎,同样的模型。
它如何判断一页是扫描件?
通过逐页计数。它首先读取文本层,并计算其中非空格的字符。超过 20 个字符,该页面被逐字提取并标记为精确。20 个或更少,页面被渲染并发送到 OCR。一个数字原生页面轻松超过这个界限:我们测试的密集装置包含 426 个字符。
这个界限是为了捕捉仍然包含孤立文本对象的扫描件,例如页码或页眉印章,否则将作为整个页面返回。这是一个阈值而不是测试,因此它有一个边界。携带超过 20 个孤立字符的扫描件超过了这个界限,你会得到标记为精确的信头,而正文则保留在图像中。页面摘要就是显示这一点的地方:你知道是扫描的文档报告从文本层读取的页面是需要关注的案例。
扫描页面以什么分辨率读取?
200 DPI。PDF 以每英寸 72 分之一的单位测量其页面,因此以 1 的比例渲染一个页面时,正文文本大约为 10 像素高,低于大约 20 像素的识别精度下降。以 200 DPI 渲染时,该文本接近 28 像素,并使美国信纸页面为 1700 x 2200,这是该工具遵循的扫描惯例。
在其背后还有一个第二个上限:最长边为 4096 像素,在 DPI 比例后应用。普通页面远未达到这个上限。超过约 20 英寸的页面会被缩小以适应,并以低于 200 DPI 的比例读取,具体取决于超出多少。计划集或海报会达到这个限制,而卡片上没有任何警告。
测量结果显示了什么?
六个装置在 2026-08-12 通过引擎运行,在桌面硬件上。相似度将输出与我们知道在文档中的文本逐字比较。
| 装置 | 读取的页面 | 方法 | 相似度 |
|---|---|---|---|
| 数字原生 PDF | 1 of 1 | 文本层 | 100.0% |
| 扫描页面 | 1 of 1 | OCR | 100.0% |
| 三页数字 PDF | 3 of 3 | 文本层 | 100.0% |
| 28 页文档 | 25 of 28 | 文本层 | 未评分 |
| 损坏文件 | 无 | 被拒绝 | 未评分 |
| 受密码保护的文件 | 无 | 被拒绝 | 未评分 |

扫描装置的结果也返回了 100.0%,该行需要一个星号。我们通过将图像推送到本网站自己的 JPG 到 PDF 转换器 构建它,因此它是清晰的渲染文本,没有镜头和倾斜。你银行的扫描仪是更困难的案例。一个包含 25 页文档的四文件批处理在桌面上花费了 3.0 秒的实际时间。
置信度分数实际上测量什么?
它测量 OCR 处理,仅在 OCR 运行的页面上。文本层页面的平均值按定义为 100,因此即使在一堆数字页面中埋藏一个坏扫描的文件仍然报告一个舒适的数字。在混合文档中,该平均值告诉你文本的可信度。页面摘要行就是回答 OCR 问题的地方。"3 页:从文本层精确读取 3 页,0 页通过 OCR" 意味着没有被识别。完全从其文本层读取的 PDF 不会携带分数。
第 26 页发生了什么?
一个 PDF 包含 25 页。超大装置包含 28 页,运行读取前 25 页,并在卡片上打印通知说明。没有任何失败是安静的。对于任何更长的文件,你需要在你拥有的 PDF 阅读器中将其拆分,然后将剩余部分作为第二次运行发送。
两种类型的文件会被直接拒绝。损坏的 PDF 被 pdf.js 自己的措辞拒绝,"无效的 PDF 结构。",这在每种语言环境中都会以英语出现,因为它来自阅读器而不是我们的翻译。受密码保护的 PDF 也会被拒绝,该页面不会要求你输入密码。在你已经使用的阅读器中去除保护,然后运行副本。
将银行对账单通过这个工具处理安全吗?
这是该工具构建的案例。工资单、合同和身份证的扫描是人们最想提取文本的文档,而它们是你最不希望放在陌生人机器上的文档。这个代码库中没有上传端点可以接收一个。运行时打开网络标签:引擎块来自这个域,没有任何内容将你的文档带走。
大型 PDF 服务的工作方式正好相反。你的文件首先到达他们的机器,他们对隐私问题的回答是保留承诺:副本在几个小时后被删除。我们在本系列的第一篇文章中引用了该措辞。它告诉你你的工资单在别人磁盘上待了多长时间。是否能到达是另一个问题。我们的隐私页面 列出了我们收集的内容。
什么时候这是错误的工具?
手写。Tesseract 项目明确表示:你可以将其指向手写文本,但效果不佳,因为该引擎是为印刷字符构建的。带有打印标签和手写答案的扫描表单会将标签和答案位置的噪声交给你。很少值得进行处理。
布局是另一个问题。文本层记录每一串字符的位置,而不记录它们的含义,因此两列页面或脚注块可能会以你的眼睛永远无法接受的顺序返回。表格失去网格,按顺序到达单元格内容。直白的散文几乎总是没问题。重建的文档与原始布局不是该页面生成的内容。
对于扫描部分,Tesseract 质量说明 与我们的装置显示的匹配:更大更清晰的字符读取效果更好。如果你是拍摄纸张而不是扫描它,图像提取器 搭配裁剪 到文本块优于先将该照片封装在 PDF 中。
为什么数字 PDF 仍然下载 OCR 引擎?
因为该路径尚未拆分。PDF 运行拉取 pdf.js 工作线程,1,262,398 字节在我们发布的 6.2.108 构建中,加上 OCR 引擎和大约 6 MB 的一个语言模型。即使每一页都是数字原生且无需识别,该 OCR 部分也会加载,因此在这样的文件上下载是浪费。这是一个已知的限制。阅读器的其余部分更懒惰:字符映射和图像编解码器仅在文档需要时到达。
我之后该如何处理文本?
你会得到纯文本。用按钮复制它,或下载一个带有分隔和标记页面的 .txt 文件。如果你的来源是截图,图像到文本工具 是适合的页面,而我们评分的六个截图装置 涵盖了 OCR 从没有写入的照片中发明的 515 个字符。反向操作,JPG 到 PDF 转换器 从图像构建文档,而压缩器 在它们较重时首先将其压缩。
在你拥有的最糟糕的 PDF 上尝试一下。将其拖到PDF 到文本页面,然后在阅读文本之前先阅读页面摘要行。