piapia123
zh

PDF 提取文字

文档

所有处理都在浏览器本地完成,数据不上传服务器

把文件拖到这里,或点击选择

PDF · 单个文件不超过 100 MB

把 PDF 里的文字抓出来变成能复制的纯文本。要说清它的原理与边界:PDF 里没有"段落"也没有"行",只有一条条"在某个坐标画这几个字"的指令,所以"这一行是什么"是靠坐标关系推出来的(y 接近的算同一行、按 x 从左到右排)—— 这也是各家工具结果不一样的原因。对单栏正文(合同、论文、报告)效果很好;对多栏排版(杂志、报纸式排版)会把左右栏混在一起;对扫描件则完全抽不出东西,因为整页是一张图、没有文字层(那需要 OCR,工具会明说)。中日文按单字切分时不会被拆成"中 文 这 样" —— 拼接时会判断边界字符。

功能

  • 按页提取,可选页码范围
  • 按坐标还原行:y 相近算同一行、行内按 x 排序
  • 中日文不会被拆成一字一空格
  • 可插入页码分隔,方便对照原文档
  • 带进度显示(几十页的文档能看见到第几页)
  • 逐页报告:每页多少字、哪几页取不到文字,并给出页码列表
  • 区分扫描页、全空白页与只有页眉页脚的页,免得白跑一趟 OCR
  • 结果为纯文本,可直接复制或下载 .txt
  • 文件不上传、不经过任何服务器

使用方法

  1. 把 PDF 拖进来
  2. 需要的页填页码范围
  3. 文字立刻出现在下面(较长时用「复制」或下载)
  4. 再给一张「逐页报告」卡片:哪几页没文字、该拿哪几页去做 OCR
  5. 扫描件要先用 OCR 工具处理

常见问题

扫描件为什么抽不出文字?
因为扫描件整页就是一张图片,里面没有可提取的文字数据 —— 文字是"画"在像素上的,不是"写"在文件里的。要拿到文字必须先做 OCR(光学字符识别),那是另一类工具。可以先用本站的「PDF 转图片」把页面导成 PNG,再交给任一 OCR 服务。判断方法很简单:在 PDF 阅读器里能不能选中文字?能——就能提取;不能——就是扫描件。
抽出来的段落是乱的 / 左右两栏混在一起了?
这是多栏排版的固有问题。判据是坐标:左右两栏的同一行 y 相同、x 分列两侧,按 y 分行就会把它们读成同一行。单栏文档(合同、论文、通知)不受影响。另外,页眉页脚与脚注也会被按位置混进正文里 —— 那同样是"没有语义、只有坐标"导致的,任何提取工具都躲不开,只是处理策略不同。
文字的先后顺序为什么和看到的对不上?
提取顺序是按坐标排的,而原文的书写顺序未必与视觉顺序一致 —— 例如用设计软件排版时,标题可能是在正文之后添加的(对象顺序在后,但视觉位置在上)。工具按 y 从上到下、x 从左到右重排,通常与视觉一致,但遇到跨越整页的大标题、侧边注释这类布局时仍可能错位。需要精确版式时请对照原文档核对。
文件会上传吗?
不会。文字提取用 pdf.js 在浏览器里完成(跑在 Web Worker 里),全程没有网络请求,断网也能用。合同、报告这类文档不该经过第三方服务器。

相关工具