From 06c1a194acf488bb5c45097d7b7d345369b5b006 Mon Sep 17 00:00:00 2001 From: KanorUbu Date: Sat, 28 Oct 2023 10:19:50 +0200 Subject: [PATCH] BUG: Error when filling a value with parentheses #2268 (#2269) Co-authored-by: rdl --- pypdf/_writer.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pypdf/_writer.py b/pypdf/_writer.py index 51b92b0e1..8f4767415 100644 --- a/pypdf/_writer.py +++ b/pypdf/_writer.py @@ -920,7 +920,8 @@ def _update_text_field(self, field: DictionaryObject) -> None: else: # /Tx txt = field.get("/V", "") sel = [] - + # Escape parentheses (pdf 1.7 reference, table 3.2 Literal Strings) + txt = txt.replace("\\", "\\\\").replace("(", r"\(").replace(")", r"\)") # Generate appearance stream ap_stream = f"q\n/Tx BMC \nq\n1 1 {rct.width - 1} {rct.height - 1} re\nW\nBT\n{da}\n".encode() for line_number, line in enumerate(txt.replace("\n", "\r").split("\r")):