我有一个脚本,它获取附件文件名,如果扩展名指示为pdf文件,则通过以下代码运行它。 但是我收到了下面的KeyError。 我找不到任何关于如何纠正或排除故障的信息。 我之前成功地通过此脚本运行了PDF表单,不确定为什么这次没有按预期工作。
if ext == '.PDF' or ext == '.pdf':
item_field_list = []
item_number = str(random.randint(1000000, 9999999))
#try:
with tempfile.NamedTemporaryFile() as tmp:
verify_item = 0
tmp.write(part.get_payload(decode=True))
parser = PDFParser(tmp)
doc = PDFDocument(parser)
fields = resolve1(doc.catalog['AcroForm'])['Fields']
以下是追踪信息:
Traceback (most recent call last):
File "distributionitemimport.py", line 87, in <module>
fields = resolve1(doc.catalog['AcroForm'])['Fields']
KeyError: 'AcroForm'
当我执行
print(doc.catalog)
时,我会得到以下结果:{'MarkInfo': {'Marked': True}, 'Lang': b'en-US', 'Type': /'Catalog', 'StructTree
Root': <PDFObjRef:162>, 'Pages': <PDFObjRef:2>}
print(doc.catalog)
,你会看到什么被打印出来? - alecxeresolve1(doc.catalog)
时,resolve1
会返回什么? - Ajax1234<class 'dict'>
- AlliDeacon