Closed
Description
Using parenthesis causes "content stream" to be displayed
Environment
$ python -m platform
Linux-6.2.0-34-generic-x86_64-with-glibc2.35
$ python -c "import pypdf;print(pypdf._debug_versions)"
pypdf==3.16.4, crypt_provider=('cryptography', '41.0.1'), PIL=9.3.0
Code + PDF
from pypdf import PdfReader, PdfWriter
pdf_reader = PdfReader('test_pdf_form.pdf')
pdf_writer = PdfWriter()
pdf_writer.clone_document_from_reader(pdf_reader)
pdf_writer.update_page_form_field_values(pdf_writer.pages[0], {'test_multifield': 'Line1 (test\n brace)Line2'}, auto_regenerate=False)
pdf_writer.write('/tmp/test.pdf')
Example pdf test_pdf_form.pdf
Result
Solution
Add a escape on parentheses in update_page_form_field_values or _update_text_field