Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def update_form_values(infile, outfile, newvals=None):
- pdf = PdfFileReader(open(infile, 'rb'))
- if "/AcroForm" in pdf.trailer["/Root"]:
- pdf.trailer["/Root"]["/AcroForm"].update(
- {NameObject("/NeedAppearances"): BooleanObject(True)})
- writer = PdfFileWriter()
- # Used to make changes in the pdf-form visible
- set_need_appearances_writer(writer)
- if "/AcroForm" in writer._root_object:
- writer._root_object["/AcroForm"].update(
- {NameObject("/NeedAppearances"): BooleanObject(True)})
- for i in range(pdf.getNumPages()):
- page = pdf.getPage(i)
- try:
- if newvals:
- writer.updatePageFormFieldValues(page, newvals)
- else:
- writer.updatePageFormFieldValues(page,
- {k: f'#{i} {k}={v}'
- for i, (k, v) in enumerate(get_form_fields(infile).items())
- })
- writer.addPage(page)
- except Exception as e:
- print(repr(e))
- writer.addPage(page)
- with open(outfile, 'wb') as out:
- writer.write(out)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement