From c7ba82f258d0cd7be033f56ca8515d7654cb0cdb Mon Sep 17 00:00:00 2001 From: chinapandaman Date: Tue, 26 Mar 2024 18:29:44 -0500 Subject: [PATCH 1/4] PPF-539: need tests --- PyPDFForm/constants.py | 5 +++-- PyPDFForm/patterns.py | 12 +++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/PyPDFForm/constants.py b/PyPDFForm/constants.py index 14a2ecd3..1adfc6f2 100644 --- a/PyPDFForm/constants.py +++ b/PyPDFForm/constants.py @@ -37,6 +37,7 @@ Tx = "/Tx" V = "/V" AP = "/AP" +D = "/D" Sig = "/Sig" DA = "/DA" Btn = "/Btn" @@ -47,6 +48,8 @@ MK = "/MK" CA = "/CA" AS = "/AS" +Yes = "/Yes" +Off = "/Off" # Field flag bits READ_ONLY = 1 << 0 @@ -70,6 +73,4 @@ "l": "\u25CF", # circle } -Yes = "/Yes" - COORDINATE_GRID_FONT_SIZE_MARGIN_RATIO = DEFAULT_FONT_SIZE / 100 diff --git a/PyPDFForm/patterns.py b/PyPDFForm/patterns.py index b3b5726a..eeadb678 100644 --- a/PyPDFForm/patterns.py +++ b/PyPDFForm/patterns.py @@ -4,8 +4,8 @@ from pypdf.generic import (DictionaryObject, NameObject, NumberObject, TextStringObject) -from .constants import (AP, AS, CA, DA, FT, MK, READ_ONLY, Btn, Ch, Ff, Opt, - Parent, Q, Sig, Subtype, T, Tx, V, Widget, Yes) +from .constants import (AP, AS, CA, D, DA, FT, MK, READ_ONLY, Btn, Ch, Ff, Opt, + Parent, Q, Sig, Subtype, T, Tx, V, Widget, Yes, Off) from .middleware.checkbox import Checkbox from .middleware.dropdown import Dropdown from .middleware.radio import Radio @@ -89,7 +89,13 @@ def simple_update_checkbox_value(annot: DictionaryObject) -> None: def simple_update_radio_value(annot: DictionaryObject, widget: Radio) -> None: """Patterns to update values for radio annotations.""" - annot[NameObject(AS)] = NameObject(f"/{widget.value}") + if AP in annot and D in annot[AP]: + for each in annot[AP][D]: # noqa + if str(each) != Off: + annot[NameObject(AS)] = NameObject(each) + break + else: + annot[NameObject(AS)] = NameObject(f"/{widget.value}") def simple_update_dropdown_value(annot: DictionaryObject, widget: Dropdown) -> None: From b9cc4325d9a4086c5cfd1d6e0df9a85520a49877 Mon Sep 17 00:00:00 2001 From: chinapandaman Date: Wed, 27 Mar 2024 20:05:23 -0500 Subject: [PATCH 2/4] PPF-539: start adding tests --- .../comb_text_field_all_chars.pdf | Bin 0 -> 29480 bytes .../test_fill_max_length_text_field_simple.py | 29 ++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 pdf_samples/simple/max_length_text_field_related/comb_text_field_all_chars.pdf diff --git a/pdf_samples/simple/max_length_text_field_related/comb_text_field_all_chars.pdf b/pdf_samples/simple/max_length_text_field_related/comb_text_field_all_chars.pdf new file mode 100644 index 0000000000000000000000000000000000000000..51c266c275fea535a15a1fc891173864f3d094ec GIT binary patch literal 29480 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 Date: Wed, 27 Mar 2024 20:12:43 -0500 Subject: [PATCH 3/4] PPF-539: finish adding tests --- .../comb_text_field_even_chars.pdf | Bin 0 -> 29472 bytes ...mb_text_field_even_chars_right_aligned.pdf | Bin 0 -> 29215 bytes .../comb_text_field_odd_chars.pdf | Bin 0 -> 29466 bytes .../test_fill_max_length_text_field_simple.py | 87 ++++++++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 pdf_samples/simple/max_length_text_field_related/comb_text_field_even_chars.pdf create mode 100644 pdf_samples/simple/max_length_text_field_related/comb_text_field_even_chars_right_aligned.pdf create mode 100644 pdf_samples/simple/max_length_text_field_related/comb_text_field_odd_chars.pdf diff --git a/pdf_samples/simple/max_length_text_field_related/comb_text_field_even_chars.pdf b/pdf_samples/simple/max_length_text_field_related/comb_text_field_even_chars.pdf new file mode 100644 index 0000000000000000000000000000000000000000..03f973392f145f04921b609142cd15c0b58259b1 GIT binary patch literal 29472 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 literal 0 HcmV?d00001 diff --git a/pdf_samples/simple/max_length_text_field_related/comb_text_field_odd_chars.pdf b/pdf_samples/simple/max_length_text_field_related/comb_text_field_odd_chars.pdf new file mode 100644 index 0000000000000000000000000000000000000000..191cfc95b7eb99da6f53d2d35c106cbbbf64e895 GIT binary patch literal 29466 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 Date: Wed, 27 Mar 2024 20:24:22 -0500 Subject: [PATCH 4/4] PPF-539: really? --- PyPDFForm/filler.py | 2 +- PyPDFForm/patterns.py | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/PyPDFForm/filler.py b/PyPDFForm/filler.py index 69343ae9..b032da16 100644 --- a/PyPDFForm/filler.py +++ b/PyPDFForm/filler.py @@ -158,7 +158,7 @@ def simple_fill( radio_button_tracker[key] = 0 radio_button_tracker[key] += 1 if widget.value == radio_button_tracker[key] - 1: - simple_update_radio_value(annot, widget) + simple_update_radio_value(annot) elif isinstance(widget, Dropdown) and widget.value is not None: simple_update_dropdown_value(annot, widget) elif isinstance(widget, Text) and widget.value: diff --git a/PyPDFForm/patterns.py b/PyPDFForm/patterns.py index eeadb678..3b133ce6 100644 --- a/PyPDFForm/patterns.py +++ b/PyPDFForm/patterns.py @@ -86,16 +86,13 @@ def simple_update_checkbox_value(annot: DictionaryObject) -> None: annot[NameObject(AS)] = NameObject(Yes) -def simple_update_radio_value(annot: DictionaryObject, widget: Radio) -> None: +def simple_update_radio_value(annot: DictionaryObject) -> None: """Patterns to update values for radio annotations.""" - if AP in annot and D in annot[AP]: - for each in annot[AP][D]: # noqa - if str(each) != Off: - annot[NameObject(AS)] = NameObject(each) - break - else: - annot[NameObject(AS)] = NameObject(f"/{widget.value}") + for each in annot[AP][D]: # noqa + if str(each) != Off: + annot[NameObject(AS)] = NameObject(each) + break def simple_update_dropdown_value(annot: DictionaryObject, widget: Dropdown) -> None: