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

如何读取已填写PDF表单中的数据及关联字段名

提取PDF表单填写数据的解决方案

你用PyPDF3的方式有误,extractText()是提取页面普通文本,并非表单域的填写数据。要获取表单字段名及对应的值,直接调用PDF阅读器的getFields()方法即可,无需遍历页面。

试试这段代码:

from PyPDF3 import PdfFileReader

# 打开PDF文件(用with语句自动管理文件关闭)
with open('filename.pdf', 'rb') as pdf_file:
    pdf_reader = PdfFileReader(pdf_file)
    # 获取所有表单字段的字典数据
    form_fields = pdf_reader.getFields()
    
    # 遍历输出字段名和对应填写值
    for field_name, field_attrs in form_fields.items():
        # /V 是表单字段值的键
        field_value = field_attrs.get('/V')
        # 部分字段值可能以元组形式返回,需处理
        if isinstance(field_value, tuple):
            field_value = field_value[0]
        print(f"字段名: {field_name}, 填写值: {field_value}")
  • 核心逻辑:getFields()会返回一个字典,键是表单字段的名称,值是包含字段各类属性的字典,其中/V键对应用户填写的内容。
  • 用with语句处理文件可以避免手动关闭文件的遗漏,更安全规范。

另外你提到的fillpdfs模块,其实它也能返回字段名和对应值,可能是之前的用法不对,示例代码如下:

from fillpdf import get_form_fields

# 获取表单字段及值
form_data = get_form_fields('filename.pdf')
for field_name, field_value in form_data.items():
    print(f"{field_name}: {field_value}")

这样就能直接拿到你需要的字段名和填写数据了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 02:31:15