You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现固定格式PDF表格数据自动提取并批量录入指定Excel表格

固定格式PDF表格批量提取到Excel的落地方案

固定格式线框表格类PDF的批量提取,用针对结构化表格优化的提取工具即可实现全自动化,你之前尝试的通用文本/表单提取工具没有针对表格边界做解析,所以很难匹配到固定单元格的对应关系,以下是可直接落地的实现步骤:

1. 环境准备

仅需安装2个Python依赖库,无需额外付费工具:

  • 表格提取工具:camelot-py[cv],专门针对有线框的规整表格做解析,提取结果直接按单元格结构化输出,不会出现普通文本提取的内容错位问题
  • Excel操作工具:openpyxl,支持精准写入Excel指定单元格,完美适配你固定表头的需求
    安装命令直接运行即可:
pip install camelot-py[cv] openpyxl

额外依赖:camelot需要调用ghostscript处理表格线,Windows系统直接搜索ghostscript官方安装包安装后添加到系统环境变量即可,Mac/Linux可直接用包管理器一键安装。

2. 单份PDF提取测试(一次配置永久复用)

先拿1份PDF做测试,确认提取参数,所有同格式PDF都可以复用同一套参数:

import camelot
#  lattice模式专门适配有线框的表格,pages参数填你要提取的表格所在页码
tables = camelot.read_pdf("测试用纳税申报表.pdf", pages="1", flavor="lattice")
# 输出提取到的表格内容,确认每个数值对应的行/列位置和实际PDF一致
print(tables[0].df)

如果出现提取范围不对的问题,可以用Adobe Acrobat打开PDF,用测量工具拿到目标表格的四个角坐标,添加table_areas参数精准框定提取范围,示例:

tables = camelot.read_pdf("测试用纳税申报表.pdf", pages="1", flavor="lattice", table_areas=["120,720,550,220"])
# 括号内四个值对应表格左上角x、左上角y、右下角x、右下角y,按你实际测量值替换即可

3. 批量处理全量PDF写入Excel

提前把你的固定表头Excel存为模板文件,配置好PDF提取字段和Excel单元格的对应关系后,即可一键跑全量数据:

import os
from openpyxl import load_workbook

# 加载固定表头的Excel模板
wb = load_workbook("纳税数据模板.xlsx")
ws = wb.active
# 存放所有PDF的文件夹路径
pdf_dir = "月度申报表文件夹路径"

# 遍历所有PDF文件
for row_offset, pdf_name in enumerate(os.listdir(pdf_dir)):
    if not pdf_name.endswith(".pdf"):
        continue
    # 提取表格,参数用之前测试好的固定值即可
    tables = camelot.read_pdf(os.path.join(pdf_dir, pdf_name), pages="1", flavor="lattice", table_areas=["120,720,550,220"])
    table_df = tables[0].df
    # 按你的需求对应写入指定单元格,示例:提取PDF表格第2行第3列的应纳税额,写入Excel第row_offset+2行第4列
    ws.cell(row=row_offset+2, column=4, value=table_df.iloc[1,2])
    # 其他需要提取的字段都按上述逻辑配置对应关系即可,一次配置所有PDF通用

# 保存最终结果
wb.save("合并后的全量纳税数据.xlsx")

特殊情况处理

如果你的PDF是扫描件而非可编辑文本版本,只需额外加一步OCR预处理,安装pytesseract和tesseractOCR引擎,先把扫描页转成可识别文本再按上述逻辑提取即可,普通可导出的电子申报表无需此步骤。

内容的提问来源于stack exchange,提问作者War_Pig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:30:07