如何使用python库pdfrw

时间:2019-07-08 09:50:44

标签: python adobe pdfrw

我正在使用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填充后变平,但是我真的不知道怎么做。如果有人遇到此问题并有解决方案,那对我有很大帮助。

1 个答案:

答案 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