从 PDF 中提取文字
从 PDF 中提取全部文字,预览、复制,或下载为 .txt 文件。不会上传任何内容,一切都在你的设备上完成。
点击选择 PDF 文件,或将它拖放到这里
文件留在你的设备上,不会被上传。
我的 PDF 文件会被上传吗?
不会。文字提取完全在你的浏览器内通过 JavaScript 完成。你的文件不会离开设备,也不会接触任何服务器。
这个工具能处理扫描版 PDF 吗?
单靠它不行。这个工具读取的是 PDF 中已经存在的嵌入文字,扫描页面本质上只是一张图片,除非它已经经过 OCR 识别,否则没有文字可以提取。
分栏或表格之类的排版能正确保留吗?
大多数情况下可以,但复杂的排版(多栏页面、表格)可能会以意料之外的阅读顺序输出,因为 PDF 并不会以严格的从上到下结构存储文字。
我可以从带密码保护的 PDF 中提取文字吗?
目前还不行。工具无法读取带密码保护或加密的 PDF,会显示错误,请先用 PDF 阅读器移除密码。
来自博客: 为什么 PDF 压缩对扫描件效果显著,对报告文档却几乎没用
工作原理
PDF 文件并不存储段落、句子甚至单词,它存储的是带位置的字形序列:“在这些坐标、用这种字体放置这些字符形状”。这个工具使用 Firefox 的 PDF 引擎 pdf.js,通过 getTextContent() 遍历每一页的内容流,收集所有文字显示操作,再把这些片段用空格拼接、折叠多余空白,逐页生成你看到的纯文本。
这种存储方式解释了提取结果可能出乎意料的两个原因。第一是阅读顺序:pdf.js 大致按片段在文件中出现的顺序返回,对多栏排版或表格来说,这未必是人类阅读的顺序。第二,也更根本:扫描版 PDF 完全不含文字,扫描仪产出的只是一张页面的照片,除非经过 OCR 处理,否则没有字形可供提取,工具会如实报告没有找到内容,不会去猜测或臆造文字。
提取会在你放入文件的瞬间于本地工作线程中完成。打开开发者工具,查看网络面板:无论是合同还是医疗报告,都不会有任何请求携带你的文档或其中的文字。