From e40b5a6d13d9f3e856444406f88056a9437487e7 Mon Sep 17 00:00:00 2001 From: chinapandaman Date: Sat, 21 Sep 2024 08:39:18 -0500 Subject: [PATCH 1/4] PPF-729: easy change --- PyPDFForm/widgets/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/PyPDFForm/widgets/base.py b/PyPDFForm/widgets/base.py index 01b358cf8..8723704a8 100644 --- a/PyPDFForm/widgets/base.py +++ b/PyPDFForm/widgets/base.py @@ -52,6 +52,7 @@ def __init__( value[0], value[1], value[2], + value[3] if len(value) == 4 else 1, ) self.acro_form_params[param] = value elif user_input in self.NONE_DEFAULTS: From 3957fe39e1e4d34b66f16499aca8c8beee6ec510 Mon Sep 17 00:00:00 2001 From: chinapandaman Date: Sat, 21 Sep 2024 08:45:45 -0500 Subject: [PATCH 2/4] PPF-729: add test --- .../widget/create_text_alpha_bg_color.pdf | Bin 0 -> 43390 bytes tests/test_create_widget.py | 22 ++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 pdf_samples/widget/create_text_alpha_bg_color.pdf diff --git a/pdf_samples/widget/create_text_alpha_bg_color.pdf b/pdf_samples/widget/create_text_alpha_bg_color.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f2a0953032f1f70a1650bc381fc9fa5692122e25 GIT binary patch literal 43390 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 P0`vlwoLp2+4EFy4Pc0_% literal 0 HcmV?d00001 diff --git a/tests/test_create_widget.py b/tests/test_create_widget.py index d73dc9c2c..ffaef4754 100644 --- a/tests/test_create_widget.py +++ b/tests/test_create_widget.py @@ -198,6 +198,28 @@ def test_create_text_default(template_stream, pdf_samples, request): assert obj.stream == expected +def test_create_text_alpha_bg_color(template_stream, pdf_samples, request): + expected_path = os.path.join(pdf_samples, "widget", "create_text_alpha_bg_color.pdf") + with open(expected_path, "rb+") as f: + obj = PdfWrapper(template_stream).create_widget( + "text", + "foo", + 1, + 100, + 100, + bg_color=(0, 0, 1, 0), + ) + assert obj.schema["properties"]["foo"]["type"] == "string" + + request.config.results["expected_path"] = expected_path + request.config.results["stream"] = obj.read() + + expected = f.read() + + assert len(obj.stream) == len(expected) + assert obj.stream == expected + + def test_create_text_align_center(template_stream, pdf_samples, request): expected_path = os.path.join(pdf_samples, "widget", "create_text_align_center.pdf") with open(expected_path, "rb+") as f: From c2e586ee43a7d9a80f710e5ad8e177f6a7609037 Mon Sep 17 00:00:00 2001 From: chinapandaman Date: Sat, 21 Sep 2024 08:48:54 -0500 Subject: [PATCH 3/4] PPF-729: update docs --- docs/prepare.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/prepare.md b/docs/prepare.md index 6df5b94f8..ac7f12968 100644 --- a/docs/prepare.md +++ b/docs/prepare.md @@ -38,7 +38,7 @@ new_form = PdfWrapper("dummy.pdf").create_widget( font="Courier", # optional font_size=15, # optional font_color=(1, 0, 0), # optional - bg_color=(0, 0, 1), # optional + bg_color=(0, 0, 1, 1), # optional, (r, g, b, alpha) border_color=(1, 0, 0), # optional border_width=5, # optional alignment=0, # optional, 0=left, 1=center, 2=right @@ -65,7 +65,7 @@ new_form = PdfWrapper("dummy.pdf").create_widget( size=30, # optional button_style="check", # optional tick_color=(0, 1, 0), # optional - bg_color=(0, 0, 1), # optional + bg_color=(0, 0, 1, 1), # optional, (r, g, b, alpha) border_color=(1, 0, 0), # optional border_width=5 # optional ) @@ -100,7 +100,7 @@ new_form = PdfWrapper("dummy.pdf").create_widget( font="Courier", # optional font_size=15, # optional font_color=(1, 0, 0), # optional - bg_color=(0, 0, 1), # optional + bg_color=(0, 0, 1, 1), # optional, (r, g, b, alpha) border_color=(1, 0, 0), # optional border_width=5 # optional ) From 10b302aa055c44eb01c5d05425af93b43853cf53 Mon Sep 17 00:00:00 2001 From: chinapandaman Date: Sat, 21 Sep 2024 08:55:40 -0500 Subject: [PATCH 4/4] PPF-729: when did this become a thing? --- .pylintrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pylintrc b/.pylintrc index 05e46e69f..73168af3a 100644 --- a/.pylintrc +++ b/.pylintrc @@ -1,2 +1,2 @@ [MESSAGES CONTROL] -disable=C0103, R0913, R0902, R0903, R0914, C0209, C0123 +disable=C0103, R0913, R0902, R0903, R0914, C0209, C0123, R0917