使用方法
- 选择或拖入包含表格的 PDF。
- 选择“每页一个工作表”或“所有页面放在一个工作表”。
- 保持“将数字存储为数字”开启;如果自动检测有误,请手动设置小数点分隔符。
- 选择“转换为 Excel”,检查预览并下载 XLSX 文件。
工作原理
该工具使用 pdf.js 读取每个文本片段及其位置。同一基线(baseline)上的片段组成一行;较宽的水平间距会将一行拆分为多个单元格。列位置根据具有最常见单元格数量的行来确定,因此横跨表格的标题或备注不会合并列。每个单元格随后被放入其重叠的列中。较大的垂直间距会成为空行,从而使不同的表格保持分离。
启用“将数字存储为数字”后,诸如 1,234.56、(450.00)、-12 %、€ 99 或 1.234,56 等值会变成可求和的数值单元格,并采用保留小数位数的数字格式。会丢失信息的值仍保留为文本:带前导零的数字(ID、邮政编码)、超过 15 位的数字(账号)以及日期。货币符号会从数值单元格中移除。
此工具最适合处理由软件生成的 PDF(银行对账单、发票、导出的报表)。扫描版 PDF 不包含文本。合并单元格、多行单元格以及没有间距绘制的表格会被近似处理,因此在依赖结果之前请先检查。工作簿使用开源 exceljs 库写入。
示例
银行对账单
一份包含日期、摘要、金额和余额列的 3 页对账单会生成三个工作表。像 -1.250,00 这样的金额会被识别为逗号小数格式的数字,因此你可以直接在 Excel 中求和。
供应商价格表
将 20 页价格表转换为“所有页面放在一个工作表”后,会得到一张可筛选和排序的长表格;每页重复的表头会显示为普通行,可手动删除。
常见问题
为什么有些值会出现在错误的列中?
PDF 中没有真正的表格,只有按位置排列的文本。当某个单元格很宽、跨多列居中或折成两行时,它的位置可能被匹配到不同的列。请在 Excel 中移动这些单元格,或尝试另一种工作表选项。
为什么数字被存储为文本?
带前导零、超过 15 位数字、分隔符不常见或包含额外文字的值会保留为文本,以免丢失内容。如果所有数字都识别错误,请手动设置小数点分隔符。
是否支持扫描版 PDF?
不支持。扫描页是图像,没有文本。请先使用 OCR 识别文字;OCR 图片转文字工具可处理通过 PDF 转 JPG 导出的页面图像。
格式、颜色和边框会保留吗?
不会。工作簿仅包含单元格值和数字格式;PDF 中的字体、颜色、边框和合并单元格不会转移过来。
隐私
PDF 会在浏览器中使用 JavaScript 读取,Excel 文件也在浏览器中创建。不会上传或存储任何内容,分析数据中不包含文件内容;仅统计工具使用的匿名事件。