【发布时间】:2019-07-16 16:39:04
【问题描述】:
我使用Python 包pdfrw 更新了pdf 字段并创建了一个新的pdf。但是当我用 Adobe Reader 打开它时,更新的字段没有显示出来。但是,这些字段可以通过手动点击显示。
我已经尝试过代码
pdf.Root.AcroForm.update(pdfrw.PdfDict(NeedAppearances=pdfrw.PdfObject('true'))).确实添加了属性NeedAppearances,但是并没有解决问题。
我的代码
def write_fillable_pdf(input_pdf_path, output_pdf_path, data_dict):
try:
pdf = pdfrw.PdfReader(input_pdf_path)
for page in pdf.pages:
annotations = page['/Annots']
if annotations != None:
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])))
pdf.Root.AcroForm.update(pdfrw.PdfDict(NeedAppearances=pdfrw.PdfObject('true')))
print (pdf.Root.AcroForm)
output_pdf = output_pdf_path
pdfrw.PdfWriter().write(output_pdf, pdf)
except ValueError:
pass
我希望显示这些字段。
【问题讨论】: