我需要使用 Python 来填充完整的 PDF 文件,但我已经搜索了 8 个小时,我只能找到如何仅在 PDF 文件中填充文本字段。我需要填写检查复选框并使用单选按钮,您可以在其中检查一个但不能检查另一个,例如是或否单选按钮或性别单选按钮。
这是我一直在使用pdfrw python 模块的代码...
import pdfrw
template_pdf = pdfrw.PdfReader("template.pdf")
ANNOT_KEY = '/Annots'
ANNOT_FIELD_KEY = '/T'
ANNOT_VAL_KEY = '/V'
ANNOT_RECT_KEY = '/Rect'
SUBTYPE_KEY = '/Subtype'
WIDGET_SUBTYPE_KEY = '/Widget'
def fillPDF(data_dict):
for page in template_pdf.pages:
annotations = page[ANNOT_KEY]
for annotation in annotations:
if annotation[SUBTYPE_KEY] == WIDGET_SUBTYPE_KEY:
if annotation[ANNOT_FIELD_KEY]:
key = annotation[ANNOT_FIELD_KEY][1:-1]
if key in data_dict.keys():
if type(data_dict[key]) == bool:
if data_dict[key] == True:
annotation.update(pdfrw.PdfDict(AS=pdfrw.PdfName('Yes')))
else:
annotation.update(pdfrw.PdfDict(V='{}'.format(data_dict[key])))
annotation.update(pdfrw.PdfDict(AP=''))
else:
print(key)
template_pdf.Root.AcroForm.update(pdfrw.PdfDict(NeedAppearances=pdfrw.PdfObject('true')))
pdfrw.PdfWriter().write("output.pdf", template_pdf)
此代码应该填充文本字段和复选框,但它不适用于复选框,它甚至不检测单选按钮。
如果你有办法用 python 检查单选按钮和复选框,请告诉我。谢谢你。