我正在使用pdfrw python库来填充Web表单中的pdf字段。然后,我必须将其传递给电子签名网络服务,但他们希望pdf不可编辑(拼合)。
我尝试使用Adobe对其进行展平,但是它可以工作,但是我无法通过python代码来填充它。
import pdfrw
template_pdf = pdfrw.PdfReader(input_pdf_path)
annotations = template_pdf.pages[0]['/Annots']
for annotation in annotations:
if annotation['/Subtype'] == '/Widget':
if annotation['/T']:
key = annotation['/T'][1:-1]
if key in data_dict.keys():
annotation.update(
pdfrw.PdfDict(V='{}'.format(data_dict[key]))
)
template_pdf.Root.AcroForm.update(pdfrw.PdfDict(NeedAppearances=pdfrw.PdfObject('true')))
pdfrw.PdfFileWriter().write(output_pdf_path, template_pdf)
我的想法是使用pdfrw将pdf填充后变平,但是我真的不知道怎么做。如果有人遇到此问题并有解决方案,那对我有很大帮助。
答案 0 :(得分:0)
if key in data_dict.keys():
annotation.update(pdfrw.PdfDict(V='{}'.format(data_dict[key])))
annotation.update(pdfrw.PdfDict(Ff=1)) # This set the annotation as as not editable