我正在使用 pdfrw python 库从网络表单中填充 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 展平,但我真的不知道如何。如果有人遇到此问题并有解决方案,那将对我有很大帮助。