提取 PDF 表格数据生成 Excel
PDF 转 Excel 工具会读取 PDF 里的文字,按文字在页面上的位置还原成行和列(缺失的格子会保持为空,不再让后面的内容左移),再生成一个可下载的 .xlsx 文件。需要先明确它的定位:这是一个简化版的提取工具,不是专业的表格识别软件。它适合文字型、排版简单的表格或清单,对合并单元格、嵌套表格、图表、扫描件(图片形式的 PDF)以及带密码的 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)仍按文本保留。
因为这个工具并不识别表格线,而是根据文字块的起始位置推断列。空白格现在会保持为空,但如果某列是居中或右对齐的,各行起点位置参差(超过 8 个单位),就可能被拆成多列或错位,这时只能在 Excel 里手动调整。对于左对齐、文字排得整齐的 PDF,效果会好一些。
最可能的原因是这个 PDF 是扫描件或图片形式,里面没有可选中的文字。可以用阅读器打开 PDF,尝试用鼠标选中一段文字:选得中,说明有文字层;选不中,就说明只是图片。图片型 PDF 需要先经过 OCR 识别才能提取文字。
纯数字内容已作为数值写入,通常可以直接求和。但带货币符号、单位或其他字符的内容(如「¥12.50」)和带前导零的内容仍是文本,单元格左上角可能出现绿色小三角或靠左对齐。在 Excel 里先替换掉多余字符,再使用「分列」功能或「转换为数字」的提示即可批量转成数值。
不可以,每次只处理一个 PDF。选择新文件后会重新解析并覆盖上一次的结果。如果需要多个文件,请逐个处理并分别下载。
PDF 的解析和 Excel 文件的生成都在你的浏览器里完成:文件通过浏览器读入,由页面中运行的 PDF 解析库提取文字,再由表格库生成 .xlsx 并以本地临时链接提供下载。文件不会被发送到服务器,也不需要注册登录。关闭或刷新页面后,已加载的文件和结果都会清除。