我的功能应该在字段中读取,包括“出生日期”、“受益所有人姓名”和其他一些字段,但它们被跳过了。
功能: def read_pdf_form(path_to_pdf): pdf = PdfReader(path_to_pdf) 注释= [pdf中的页面的ann.pages中的ann的页面.Annots或[]] field_values = {ann.T[1:-1]: ann.V[1:-1] if ann.V else '' for ann in 注解 if ann.T} print("从 PDF 中提取字段值:", field_values, " ”) 返回字段值
字段阅读: 从 PDF 中提取的字段值:{'投资者姓名': '未填写', '美国 TIN': '未填写', '订阅者类型': '未填写', '控制个人电子邮件': '未填写', 'brendan': '', '顾问姓名': '未填写', '顾问代表号码': '未填写', '承诺金额': '未填写', '银行名称': '未填写', '银行地址': '未填写', '银行城市':'未填写','银行州':'未填写','银行邮政编码':'未填写','账户名称':'未填写','账户号码':'未填写','ABA 路由号码': '未填写'、'收款人账户名称':'未填写'、'收款人账号':'未填写'、'顾问电话号码':''、'订阅者信函':'未填写'、'签名1':''}
“实益拥有人姓名”位于“认购人类型”之后、“控制个人”之前
我尝试添加一个循环来浏览文档,尝试添加页面约束,因为跳过的字段位于一页上,并尝试重命名 PDF 中的字段,但没有任何效果,它使代码变得复杂,所以我恢复了到我原来的阅读功能。
可以在此链接上找到修复程序。它与父字段问题有关,您必须将这行代码与附加循环一起使用:
如果没有注释['/T']: 注释=注释['/父']