← 退出

PDF 转 Excel

提取 PDF 表格数据生成 Excel

这是简化版本:按文字在页面上的坐标位置粗略还原成行列结构,复杂合并单元格、图表、精美排版的表格可能还原不准确,适合简单表格 / 文字类 PDF。
选择 PDF 文件

关于PDF 转 Excel

PDF 转 Excel 工具会读取 PDF 里的文字,按文字在页面上的位置还原成行和列(缺失的格子会保持为空,不再让后面的内容左移),再生成一个可下载的 .xlsx 文件。需要先明确它的定位:这是一个简化版的提取工具,不是专业的表格识别软件。它适合文字型、排版简单的表格或清单,对合并单元格、嵌套表格、图表、扫描件(图片形式的 PDF)以及带密码的 PDF 基本无能为力。

操作步骤

  1. 点击虚线区域「点击上传 PDF」,选择一个未加密的 PDF 文件。选择后页面会显示「正在解析…」,期间上传区域暂时不可用。
  2. 工具逐页读取文字:每一页先写入一行「第 N 页」作为标记,然后把该页的文字按纵向位置分成若干行;再统计整页所有文字块的起始横坐标,把相差不超过 8 个单位的归为同一列,每个文字块放进它所属列的单元格;最后在每页后留一个空行。
  3. 解析完成后页面显示「提取完成,共 N 行数据」,这个行数包含了页码标记行和空行。
  4. 点击「下载 文件名.xlsx」保存结果,文件名沿用 PDF 的原名,工作表名称固定为 Sheet1,所有页都在同一张工作表里依次往下排。
  5. 用 Excel、WPS 或其他表格软件打开后,请对照原 PDF 检查并手动整理列的对齐、数字格式等。

一个实际运行的例子

下面这个例子是用工具里分组和列检测逻辑的原样代码,对一份人工构造的文字位置数据跑出来的真实结果,并非来自真实 PDF。输入是三行:第一行「Item、Qty、Price」的起点横坐标分别是 10、100、200,第二行「Apple、3、12.50」位置与之对齐,第三行「Pear、12.50」缺少数量,只有位于 10 和 200 的两块文字。输出的行为 [Item, Qty, Price]、[Apple, 3, 12.50]、[Pear, (空), 12.50]:价格 12.50 留在第三列,中间的数量格保持为空。另一个测试里,同一视觉行的三个文字块纵坐标分别是 700.4、698.9 和 701.6(互相相差不超过 3 个单位),被归为同一行,得到 [A, B, C]。再一个测试里,第二行的起点横坐标是 10 和 103,与第一行的 10 和 100 相差不超过 8,仍对齐在同样的两列;而起点相差超过 8 个单位的会被判为新的一列。纯数字的单元格(如 3、12.50、1,234.5)会作为数值写入,可以直接求和;带前导零的内容(如 007)仍按文本保留。

支持范围与已知限制

  • 只能提取 PDF 里的文字层。扫描件、拍照生成的 PDF 或把表格做成图片的 PDF 没有文字可读,结果里只会有页码标记行。这类文件需要先做文字识别(OCR);可以把页面截图或导出成图片,再用「文字提取」工具识别文字。
  • 分行的方法是按文字的纵坐标聚类分组(与该行首个片段相差不超过 3 个单位视为同一行),分列的方法是把整页文字块的起始横坐标聚类(相差不超过 8 个单位算同一列),所以并不能真正识别表格线和单元格边界。缺失的单元格会保持为空,但如果同一列的内容是居中或右对齐的(例如右对齐的金额,各行起点横坐标不同),起点相差超过 8 个单位就会被拆成多列;反过来,不同列的内容如果起点相差不到 8 个单位会被并到一列(同一行里落到同一列的多块文字会用空格拼在一起)。
  • 一行里的内容是由 PDF 的文字片段拼成的:水平间隙很小(不超过约 0.6 倍字高)的相邻片段会被合并成同一个单元格,这样正文里的词不会被拆开;间隙更大的才算新单元格。所以一个单元格里的内容未必是你认为的「一格」。整页的列数取决于所有行的起点位置,文字很多的正文页可能因为缩进、标题位置不同而出现不少空列。每个单元格的首尾空白会被去掉,只有空白的文字块会被忽略。
  • 纯数字(含千分位逗号的数字)会作为数值写入;日期、带货币符号或单位的内容仍以文本形式写入,不会自动转换成 Excel 的日期格式。
  • 只会输出一张工作表(Sheet1),多页内容依次排下去。不会保留字体、颜色、边框、合并单元格或图片。
  • 带密码保护的 PDF 无法解析,会提示「解析失败,请确认文件是未加密的 PDF」。损坏的文件同样会提示这个错误。
  • 没有设置文件大小上限,但整个文件在浏览器内存中处理,页数很多或体积很大的 PDF 会比较慢,甚至可能卡住。另外,旋转过的页面和竖排文字的处理没有做专门优化。

常见问题:为什么导出的表格列对不齐?

因为这个工具并不识别表格线,而是根据文字块的起始位置推断列。空白格现在会保持为空,但如果某列是居中或右对齐的,各行起点位置参差(超过 8 个单位),就可能被拆成多列或错位,这时只能在 Excel 里手动调整。对于左对齐、文字排得整齐的 PDF,效果会好一些。

常见问题:为什么我的 PDF 转出来几乎是空的?

最可能的原因是这个 PDF 是扫描件或图片形式,里面没有可选中的文字。可以用阅读器打开 PDF,尝试用鼠标选中一段文字:选得中,说明有文字层;选不中,就说明只是图片。图片型 PDF 需要先经过 OCR 识别才能提取文字。

常见问题:数字在 Excel 里不能求和怎么办?

纯数字内容已作为数值写入,通常可以直接求和。但带货币符号、单位或其他字符的内容(如「¥12.50」)和带前导零的内容仍是文本,单元格左上角可能出现绿色小三角或靠左对齐。在 Excel 里先替换掉多余字符,再使用「分列」功能或「转换为数字」的提示即可批量转成数值。

常见问题:可以一次转换多个 PDF 吗?

不可以,每次只处理一个 PDF。选择新文件后会重新解析并覆盖上一次的结果。如果需要多个文件,请逐个处理并分别下载。

隐私与处理方式

PDF 的解析和 Excel 文件的生成都在你的浏览器里完成:文件通过浏览器读入,由页面中运行的 PDF 解析库提取文字,再由表格库生成 .xlsx 并以本地临时链接提供下载。文件不会被发送到服务器,也不需要注册登录。关闭或刷新页面后,已加载的文件和结果都会清除。