如何使用Python在PDF中选中复选框和单选按钮?
我需要使用Python来填充一个完整的PDF文件,但我已经搜索了8个小时,我能找到的只是如何只填充PDF文件中的文本字段。我需要填写复选框,并使用单选按钮,您可以选择一个,但不能选择另一个,如是或否单选按钮或性别单选按钮 下面是我在pdfrwpython模块中使用的代码如何使用Python在PDF中选中复选框和单选按钮?,python,pdf,pdfrw,Python,Pdf,Pdfrw,我需要使用Python来填充一个完整的PDF文件,但我已经搜索了8个小时,我能找到的只是如何只填充PDF文件中的文本字段。我需要填写复选框,并使用单选按钮,您可以选择一个,但不能选择另一个,如是或否单选按钮或性别单选按钮 下面是我在pdfrwpython模块中使用的代码 import pdfrw template_pdf = pdfrw.PdfReader("template.pdf") ANNOT_KEY = '/Annots' ANNOT_FIELD_KEY = '/
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检查单选按钮和复选框,请告诉我。谢谢。我也有同样的问题。我似乎不知道发生了什么事。也许pdfrw文档可能有另一个功能可以用来替代fillPDF,但我不太确定。不管怎样,我解决了它。我刚刚发现什么地方出了问题什么地方出了问题?请告诉我!