1

我正在使用 pdfrw python 库从网络表单中填充 pdf 字段。然后我必须将它传递给电子签名网络服务,但他们希望 pdf 不可编辑(展平)。

我尝试使用 Adob​​e 将其展平,它可以工作,但是我无法通过我的 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 展平,但我真的不知道如何。如果有人遇到此问题并有解决方案,那将对我有很大帮助。

4

1 回答 1

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
于 2019-12-04T14:54:03.120 回答