Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added sample code that copies a PDF, changing field values along the way (i.e. using a PDF with fillable fields as a template). This required modifying the PdfFileWriter.updatePageFormFieldValues() method (in pdf.py) to let you flag the filled-in field as read-only. This also required adding a new method to PdfFileWriter called have_viewer_render_fields(). It sets the /AcroForm/NeedAppearances flag. (FYI: The example PDF (fillable_form.pdf) was created in LibreOffice using the attached fillable_form.odt document.)
NOTE: updatePageFormFieldValues() didn't have a unit test that I could see. When I added one, I also had to fix two adjacent tests (to close the temp file before deleting it) to get test_pdf.py running again.
NOTE: I'm not set up for tox at the moment. I tested it using 3.8 only.