跳到内容

📄 PDF 文本提取

拖放 PDF 即可按页提取文本。可复制或下载为 .txt。所有处理在浏览器中完成。

完全免费 无需注册 浏览器内完成 5 种语言 深色模式

🔒 关于隐私

⚠ 基于图像的扫描 PDF 无法提取(需要 OCR)。仅支持带文本层的 PDF。

📂

拖放 PDF 或点击选择

📖 常见的坑

使用 pdf.js 按页取出 PDF 中内嵌的文本层。处理全部在浏览器内完成,文件不会被上传。能取出的只有「以文字形式写入的信息」,段落、表格、标题这类结构在 PDF 中本就不存在——PDF 是把字形放置到坐标上的绘制指令集合,而非带有文档结构的格式。

情形 会发生什么 怎么处理
提取出来的文本顺序错乱 PDF 的内容是一串「在此坐标绘制此字形」的指令,阅读顺序并无保证。双栏排版的论文会左右栏交替混杂;表格会丢失框线,只剩单元格内容排成一行。页眉与页码也会插进正文中间。这不是提取失败,而是 PDF 里本就没有顺序信息。 首先请打开「保留版面」——它会把 Y 坐标相近的字符归并还原为一行,因此即使是多栏排版,至少逐行是正确的。之后再用肉眼切分栏。若真正要处理的是表格,请改用表格抽取的方案而非文本提取(Tabula、Camelot 或 pdftotext -layout)。列错位通常只是宽度估算失败,用等宽字体输出后按列位置切分,往往就能还原。
出现乱码,或复制出来变成别的字 PDF 通过内嵌字体中的字形编号来绘制文字。若缺少把这些编号映射回 Unicode 的对照表(ToUnicode CMap),任何提取器都无法还原真实字符。字体子集化嵌入时最容易缺失,典型症状是屏幕上阅读完全正常,复制出来却是无意义的字符串。较早的日文 PDF 以及从排版软件导出的 PDF 尤为常见。 提取端无法修复。如果还能重新生成文件,导出时重新嵌入字体是唯一的根本办法。若手上只有成品 PDF,把页面渲染为图片再走 OCR,实务上是最快的路径OCR 工具)。只要读几行输出就能立刻判断映射是否损坏,所以务必先看第一页,别等整份处理完才发现。
提取结果是 0 个字 把纸质文件扫描而成的 PDF,或用手机拍照转成的 PDF,每页都是一整张图片,根本不存在文本层。因为字看得清清楚楚所以容易忽略,但文件内容其实等同于照片。政府发布的资料、合同扫描件、旧纸质资料的电子化,几乎都属于这一类。 请交给 OCR 处理。OCR 工具使用 Tesseract 识别日文与英文,并且和本页一样不会把文件交给第三方。判别很简单:若字符数相对页数少得离谱(每页只有几个字甚至更少),那就是扫描件。混合型文件——文本页与扫描页同处一份文档——也很常见,因此看一下每页的字符数,只把 0 字的页送去 OCR,就不会做无用功

能提取出来,和可以使用,是两回事。PDF 可以设置「禁止提取内容」的权限标志,但该标志只是阅读器自愿遵守的约定,并非技术保护——pdf.js 及多数实现都会直接忽略它。反过来,没有该标志也不等于获得了授权。正文能否再分发或改编,完全取决于原资料的著作权与使用条款。另外,本页的处理全部在浏览器内完成,因此载入机密 PDF 也不会外泄,但一旦把提取出的文本粘贴到别的服务,这层保证就不复存在了

📖 使用方法

  1. 1
    加载 PDF
    拖放或选择 PDF。pdf.js 自动提取。
  2. 2
    调整选项
    切换版面和页码;输出更新。
  3. 3
    复制或下载
    复制到剪贴板或下载 .txt。

❓ 常见问题

能从扫描 PDF 提取文本吗?
不能。仅图像的 PDF 需要 OCR。仅支持含文本层的 PDF。
PDF 会上传服务器吗?
不会。pdf.js 在浏览器中处理。
保留与不保留版面有何不同?
启用时保留换行和空格。禁用时合并为段落。
🐛 此工具出现问题了吗?

免费、无需注册。仅提供复现步骤也有帮助。报告将直接发送给运营者并用于改进。

※ 为复现问题,浏览器信息 (UA / 屏幕 / 语言 / URL) 将自动发送