无需上传、100% 本地处理、无需账户

OCR, 从图片和 PDF 提取文本

拖入图片或 PDF 即可获得识别出的文本。OCR 完全在浏览器中运行(设备端,首次加载后即可离线),不上传任何内容。

OCR · 图片/PDF 转文本 的工作原理

OCR 工具使用完全在浏览器内运行的 tesseract.js,将扫描图像或基于图像的 PDF 转换为可复制、可搜索、可编辑的文本。你从选择器中选择文档语言,相关语言模型一次性下载到你的浏览器,此后所有识别工作均可从缓存模型离线运行。你的扫描文件在转换过程中从不传输到任何服务器。

识别准确性在很大程度上取决于扫描质量。200 DPI 以上的清晰高对比度扫描,背景噪声少、页面对齐良好,能产生最佳效果。模糊、低分辨率或过度压缩的 JPEG、有栏目或复杂版式的页面,以及手写文本,都会降低准确性。该工具输出纯文本块;对于需要保留表格或多栏版式的结构化输出,需要后处理。在 OCR 之前对倾斜扫描运行 PDF 纠偏工具通常可以提高识别率。

OCR · 图片/PDF 转文本 的分步使用说明

  1. 将扫描图像(PNG、JPG、TIFF)或基于图像的 PDF 拖放到上传区域。
  2. 从语言下拉菜单中选择文档的主要语言。
  3. 如果是第一次使用该语言,等待语言模型下载(只需一次)。
  4. 点击提取文本,等待 tesseract.js 处理每个页面。
  5. 复制识别出的文本,或将其作为纯文本文件下载。

常见使用场景

  • 扫描的收据需要将行项目提取到电子表格中,运行 OCR 获取文本,然后粘贴到记账软件中。
  • 扫描期刊文章的存档需要变得可文本搜索,通过 OCR 将每篇文章转换为文本以便索引。
  • 会议中拍摄的白板照片包含需要转换为可编辑文档的笔记。
  • 一份德语历史扫描文件需要提取文本进行翻译,运行 OCR 前选择德语。

常见问题

为什么在 OCR 工作之前需要下载语言模型?

tesseract.js 使用针对每种语言的经过训练的神经网络数据文件。这些文件每个有几兆字节,在你第一次选择该语言时从本站下载一次(由我们自己托管,不经过任何第三方 CDN)。初次下载后,模型由你的浏览器缓存,此后该语言的所有识别工作完全离线运行。

哪些因素最影响 OCR 准确性?

扫描分辨率(最低 200 DPI,建议 300 DPI)、图像清晰度、文字与背景的对比度,以及页面是否平直,都会显著影响准确性。过度压缩的 JPEG 扫描、字体非常小的页面,以及有混合方向或复杂栏目版式的页面,是最常见的识别错误来源。

OCR 能识别手写文本吗?

tesseract.js 主要针对印刷文本进行训练。手写识别的准确性通常较低且不可靠,对草书尤其如此。对于手写文档,专用的手写识别工具能产生更好的效果。

文本提取期间我的扫描文件会被发送到任何地方吗?

不会。语言模型缓存后,所有识别任务都完全在你的浏览器中使用 tesseract.js 运行。扫描文件可能包含个人或机密内容,这种纯本地处理意味着这些内容从不到达服务器。

该工具能保留原始扫描件的版式吗?

输出是按阅读顺序排列的纯文本流。表格、栏目、标题和其他版式元素不以结构形式保留,工具仅输出文本内容。对于保留版式的输出,需要具有版式分析功能的更高级 OCR 管道。

我可以对已有可选文本的 PDF 进行 OCR 处理吗?

该工具可以处理基于图像的 PDF,其中每页都是没有嵌入文本的光栅图像。如果你的 PDF 已有文本层(你可以在查看器中选择和复制文本),则无需运行 OCR;现有文本层已提供相同的信息,无需识别步骤。

可以对手机拍摄的照片运行 OCR 吗?

可以,tesseract.js 在手机浏览器上也能运行,你甚至可以直接在拍下这张照片的手机上打开此页面。倾斜拍摄或光线不均匀的照片,识别效果会比平板扫描件差;先把照片拉正并裁掉背景会有帮助。

使用 OCR 需要创建账户或付费吗?

不需要。无需注册,也不收费。唯一涉及的下载是 tesseract.js 所需的语言模型,这是引擎的一次性下载,不是订阅或付费墙。