PyPDFForm 2.5.0__py3-none-any.whl → 3.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of PyPDFForm might be problematic. Click here for more details.
- PyPDFForm/__init__.py +22 -6
- PyPDFForm/adapter.py +28 -26
- PyPDFForm/constants.py +30 -35
- PyPDFForm/coordinate.py +23 -399
- PyPDFForm/filler.py +79 -303
- PyPDFForm/font.py +166 -164
- PyPDFForm/hooks.py +109 -69
- PyPDFForm/image.py +72 -22
- PyPDFForm/middleware/base.py +42 -60
- PyPDFForm/middleware/checkbox.py +27 -58
- PyPDFForm/middleware/dropdown.py +41 -30
- PyPDFForm/middleware/image.py +10 -22
- PyPDFForm/middleware/radio.py +30 -31
- PyPDFForm/middleware/signature.py +32 -47
- PyPDFForm/middleware/text.py +54 -48
- PyPDFForm/patterns.py +61 -106
- PyPDFForm/template.py +80 -427
- PyPDFForm/utils.py +136 -128
- PyPDFForm/watermark.py +77 -208
- PyPDFForm/widgets/base.py +57 -76
- PyPDFForm/widgets/checkbox.py +18 -21
- PyPDFForm/widgets/dropdown.py +18 -25
- PyPDFForm/widgets/image.py +11 -9
- PyPDFForm/widgets/radio.py +25 -35
- PyPDFForm/widgets/signature.py +29 -40
- PyPDFForm/widgets/text.py +18 -17
- PyPDFForm/wrapper.py +351 -443
- {pypdfform-2.5.0.dist-info → pypdfform-3.0.1.dist-info}/METADATA +6 -7
- pypdfform-3.0.1.dist-info/RECORD +35 -0
- {pypdfform-2.5.0.dist-info → pypdfform-3.0.1.dist-info}/WHEEL +1 -1
- pypdfform-2.5.0.dist-info/RECORD +0 -35
- {pypdfform-2.5.0.dist-info → pypdfform-3.0.1.dist-info}/licenses/LICENSE +0 -0
- {pypdfform-2.5.0.dist-info → pypdfform-3.0.1.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: PyPDFForm
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.1
|
|
4
4
|
Summary: The Python library for PDF forms.
|
|
5
5
|
Author: Jinge Li
|
|
6
6
|
License-Expression: MIT
|
|
@@ -42,7 +42,7 @@ Dynamic: license-file
|
|
|
42
42
|
<p align="center">
|
|
43
43
|
<a href="https://pypi.org/project/PyPDFForm/"><img src="https://img.shields.io/pypi/v/pypdfform?logo=pypi&logoColor=white&label=version&labelColor=black&color=magenta&style=for-the-badge"></a>
|
|
44
44
|
<a href="https://chinapandaman.github.io/PyPDFForm/"><img src="https://img.shields.io/github/v/release/chinapandaman/pypdfform?logo=read%20the%20docs&logoColor=white&label=docs&labelColor=black&color=cyan&style=for-the-badge"></a>
|
|
45
|
-
<a href="https://github.com/chinapandaman/PyPDFForm/actions/workflows/python-package.yml"><img src="https://img.shields.io/
|
|
45
|
+
<a href="https://github.com/chinapandaman/PyPDFForm/actions/workflows/python-package.yml"><img src="https://img.shields.io/badge/coverage-100%25-green?logo=codecov&logoColor=white&labelColor=black&style=for-the-badge"></a>
|
|
46
46
|
<a href="https://github.com/chinapandaman/PyPDFForm/raw/master/LICENSE"><img src="https://img.shields.io/github/license/chinapandaman/pypdfform?logo=github&logoColor=white&label=license&labelColor=black&color=orange&style=for-the-badge"></a>
|
|
47
47
|
<a href="https://www.python.org/downloads/"><img src="https://img.shields.io/pypi/pyversions/pypdfform?logo=python&logoColor=white&label=python&labelColor=black&color=gold&style=for-the-badge"></a>
|
|
48
48
|
<a href="https://pypistats.org/packages/pypdfform"><img src="https://img.shields.io/pypi/dm/pypdfform?logo=pypi&logoColor=white&label=downloads&labelColor=black&color=blue&style=for-the-badge"></a>
|
|
@@ -55,7 +55,7 @@ functionalities needed to interact with PDF forms:
|
|
|
55
55
|
|
|
56
56
|
* Inspect what data a PDF form needs to be filled with.
|
|
57
57
|
* Fill a PDF form by simply creating a Python dictionary.
|
|
58
|
-
* Create
|
|
58
|
+
* Create form fields on a PDF.
|
|
59
59
|
|
|
60
60
|
It also supports other common utilities such as extracting pages and merging multiple PDFs together.
|
|
61
61
|
|
|
@@ -75,7 +75,7 @@ A sample PDF form can be found [here](https://github.com/chinapandaman/PyPDFForm
|
|
|
75
75
|
```python
|
|
76
76
|
from PyPDFForm import PdfWrapper
|
|
77
77
|
|
|
78
|
-
filled = PdfWrapper("sample_template.pdf").fill(
|
|
78
|
+
filled = PdfWrapper("sample_template.pdf", adobe_mode=True).fill(
|
|
79
79
|
{
|
|
80
80
|
"test": "test_1",
|
|
81
81
|
"check": True,
|
|
@@ -86,12 +86,11 @@ filled = PdfWrapper("sample_template.pdf").fill(
|
|
|
86
86
|
},
|
|
87
87
|
)
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
output.write(filled.read())
|
|
89
|
+
filled.write("output.pdf")
|
|
91
90
|
```
|
|
92
91
|
|
|
93
92
|
After running the above code snippet you can find `output.pdf` at the location you specified,
|
|
94
|
-
and it should look like [this](https://github.com/chinapandaman/PyPDFForm/raw/master/pdf_samples/sample_filled.pdf).
|
|
93
|
+
and it should look like [this](https://github.com/chinapandaman/PyPDFForm/raw/master/pdf_samples/adobe_mode/sample_filled.pdf).
|
|
95
94
|
|
|
96
95
|
## Documentation
|
|
97
96
|
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
PyPDFForm/__init__.py,sha256=fU6FXBvP7HiJDQK5BgFx4eTbgpGsOH9hZ6Xwf02-L_I,925
|
|
2
|
+
PyPDFForm/adapter.py,sha256=8E_PZlXU1ALWez_pWF_U52cynzowK_NQFYzMJoH9VUk,2428
|
|
3
|
+
PyPDFForm/constants.py,sha256=WQjBvYTryj5gxxeXECPgHplXXXmqHNeVbgmhvlLDCpA,2443
|
|
4
|
+
PyPDFForm/coordinate.py,sha256=VMVkqa-VAGJSGVvetZwOxeMzIgQtQdvtn_DI_qSecCE,3876
|
|
5
|
+
PyPDFForm/filler.py,sha256=YgYYUKyG4n6ADmE7vjlorbqDVbhU3LEJn1H3Ptl26CA,7233
|
|
6
|
+
PyPDFForm/font.py,sha256=EZSAHnkzaBo96p9XJrQDMcEhjh5BZ8p7WwFC3SbKRMM,8828
|
|
7
|
+
PyPDFForm/hooks.py,sha256=myL6RS82uz4oM3mufOgFuyfMWkhhUwNNgWYLkMUuUtk,9016
|
|
8
|
+
PyPDFForm/image.py,sha256=CAC69jEfSbWbyNJcjLhjWVSNJuFh7frMI70eaiFayHw,3823
|
|
9
|
+
PyPDFForm/patterns.py,sha256=pv2a5aJD3xv9pJddtOu_Ol7A6p0VWlDcnHyW1diqeIM,7151
|
|
10
|
+
PyPDFForm/template.py,sha256=aGhwezcynmwCEck1SUNlQvgfupn-plV9mV2FF2RNn_M,9188
|
|
11
|
+
PyPDFForm/utils.py,sha256=RX2mOP2uCIcN_JcTalCdYKhnYtyYc8dUIqg1wP_7MJA,10867
|
|
12
|
+
PyPDFForm/watermark.py,sha256=9p1tjaIqicXngTNai_iOEkCoXRYnR66azB4s7wNsZUw,9349
|
|
13
|
+
PyPDFForm/wrapper.py,sha256=Ysd1mkvE5OfDkjUI6mNFIt16-JUKwj2ifbp1MioWPUo,25257
|
|
14
|
+
PyPDFForm/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
PyPDFForm/middleware/base.py,sha256=67ZRxAs5wFLoIZ8JxviINswBIIanh_5IsiX1p3nWZC8,3001
|
|
16
|
+
PyPDFForm/middleware/checkbox.py,sha256=cxcfi0Vm9ZPJJQAbMWn2fUinLaGpiUD47QkzC-t2kVQ,1811
|
|
17
|
+
PyPDFForm/middleware/dropdown.py,sha256=wfVx_O94yTJA0ww65kbgGocH0zXtCZTlBR2Ak-qwYls,2301
|
|
18
|
+
PyPDFForm/middleware/image.py,sha256=oeXaThV9hEpHsTwH7VT4qbreh_5tsS1dwA1E_eHe61o,579
|
|
19
|
+
PyPDFForm/middleware/radio.py,sha256=L-D669dQ-j5y867WZLjtglyqyDFpL84TcwlKAp_cJhE,2076
|
|
20
|
+
PyPDFForm/middleware/signature.py,sha256=I0ygzfgodREUAEfEA2AzIszAVFg4In_K-l4bAKZiImE,2143
|
|
21
|
+
PyPDFForm/middleware/text.py,sha256=VJ5MCw8Lx_U8eZJcxAjTvttW2qEoyybIvtlrCReP3bE,3803
|
|
22
|
+
PyPDFForm/widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
+
PyPDFForm/widgets/base.py,sha256=kOfxV8HSmwXoy0vFYPgJKKDQ7RUNMACWfX6T4HeJeOU,5177
|
|
24
|
+
PyPDFForm/widgets/bedrock.py,sha256=j6beU04kaQzpAIFZHI5VJLaDT5RVAAa6LzkU1luJpN8,137660
|
|
25
|
+
PyPDFForm/widgets/checkbox.py,sha256=s4a0a1pAemQyrz3SpZHzIPoVLvJZAV72KEfxKp15dyk,1281
|
|
26
|
+
PyPDFForm/widgets/dropdown.py,sha256=6zZwt6eU9Hgwl-57QfyT3G6c37FkQTJ-XSsXGluWevs,1459
|
|
27
|
+
PyPDFForm/widgets/image.py,sha256=aSD-3MEZFIRL7HYVuO6Os8irfSUOLHA_rHGkqcEIPPA,855
|
|
28
|
+
PyPDFForm/widgets/radio.py,sha256=nWSQQp06kRISO7Q7FVFeB3PXYvMOSc0SMhRs1bHTxeQ,2261
|
|
29
|
+
PyPDFForm/widgets/signature.py,sha256=EqIRIuKSQEg8LJZ_Mu859eEvs0dwO-mzkMNuhHG1Vsg,4034
|
|
30
|
+
PyPDFForm/widgets/text.py,sha256=gtheE6_w0vQPRJJ9oj_l9FaMDEGnPtvVR6_axsrmxKI,1540
|
|
31
|
+
pypdfform-3.0.1.dist-info/licenses/LICENSE,sha256=43awmYkI6opyTpg19me731iO1WfXZwViqb67oWtCsFY,1065
|
|
32
|
+
pypdfform-3.0.1.dist-info/METADATA,sha256=AU8iGNQzMZynQLF-7jeMio5xJg4jjHLXYWqsaxuJ59I,4587
|
|
33
|
+
pypdfform-3.0.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
34
|
+
pypdfform-3.0.1.dist-info/top_level.txt,sha256=GQQKuWqPUjT9YZqwK95NlAQzxjwoQrsxQ8ureM8lWOY,10
|
|
35
|
+
pypdfform-3.0.1.dist-info/RECORD,,
|
pypdfform-2.5.0.dist-info/RECORD
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
PyPDFForm/__init__.py,sha256=wAEMuODSkOqin_uUjzUY5oitVvnunyq9iTT7k_VrRbM,328
|
|
2
|
-
PyPDFForm/adapter.py,sha256=_5fP5UR-NzjDDayJmBRO36DgbnbUzNbjZtHZtPvSM14,1909
|
|
3
|
-
PyPDFForm/constants.py,sha256=3ed0j11cWd9Uo4s-XvZwwJojPSz8aqdmZgaEishWjqE,2342
|
|
4
|
-
PyPDFForm/coordinate.py,sha256=gQI7z-GsdCO33Qny5kXLBs6Y2TW5KO_mJ2in64fvXcg,16412
|
|
5
|
-
PyPDFForm/filler.py,sha256=oCXDzz8paw8-MIQLiTTv5goYlfCfz_EcczCj8K4JB3g,14116
|
|
6
|
-
PyPDFForm/font.py,sha256=eRbDyQFhXUkHzyZvCtru9Ypg_ukfbBAnSM5xNzPb5ss,7280
|
|
7
|
-
PyPDFForm/hooks.py,sha256=e9mjZgGl7t9Spok3Tgwl9Osmlzx4vod-5z5jVF84x-Q,7117
|
|
8
|
-
PyPDFForm/image.py,sha256=aYk7BC-AHiqt73durGIQ3e6gE5Ggbdr8jmkCUaQdsk8,1627
|
|
9
|
-
PyPDFForm/patterns.py,sha256=nkvtwsm1dbHjAH7FBNwMR5YI6_Jj16KYBm1HxB12vOk,8100
|
|
10
|
-
PyPDFForm/template.py,sha256=N_Pj3SaSKs3sqIuIdtgHPXvxIHLnHeR2M9IwRCWWKoQ,20043
|
|
11
|
-
PyPDFForm/utils.py,sha256=QxJSG96FHGch863UdBPT8DdTKN9gVzQzA2ezifTm7z4,8575
|
|
12
|
-
PyPDFForm/watermark.py,sha256=yvtZKcdPAPprBVEWcFZEnZMJcTwVpQ6u72m0jqYHxx8,12357
|
|
13
|
-
PyPDFForm/wrapper.py,sha256=ndk6isS8scu9nxGsgcA9MU1-NNzYsqMLtxm3EY4aqSQ,27678
|
|
14
|
-
PyPDFForm/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
-
PyPDFForm/middleware/base.py,sha256=lHIWBs2axKDYZj4rYRHrBHzSqF7yk0o9S8uAFTWspSA,3783
|
|
16
|
-
PyPDFForm/middleware/checkbox.py,sha256=sUk5hclIKYE8N85ZYvYOI_SYK2WVqlqIP7oBYWlv_yY,2695
|
|
17
|
-
PyPDFForm/middleware/dropdown.py,sha256=McuZl8Pc2IYPkEHRmM1OcEsh9njekySqjqVxRmQKmWU,1773
|
|
18
|
-
PyPDFForm/middleware/image.py,sha256=HlPUsIktj-NryIkwwdZlilvrd6sZYifs9IuDgTHp7uQ,950
|
|
19
|
-
PyPDFForm/middleware/radio.py,sha256=M4yqHYzHj0jvOGbjYdqeYnNAlYhTF-h47qxqrjXDOoU,1921
|
|
20
|
-
PyPDFForm/middleware/signature.py,sha256=0gexCQwHCEOrjrgvUXeJJCGo2plfSEbXlykPJJCqpfA,2380
|
|
21
|
-
PyPDFForm/middleware/text.py,sha256=VWL2kLXY_UTz1DkUJOgai9VczU3E4yn_Sa5LwUVTgt4,3091
|
|
22
|
-
PyPDFForm/widgets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
-
PyPDFForm/widgets/base.py,sha256=vrWsnrFumgZScSMzRtqxapIkFm3yvasV_xIs2lmI2a0,5327
|
|
24
|
-
PyPDFForm/widgets/bedrock.py,sha256=j6beU04kaQzpAIFZHI5VJLaDT5RVAAa6LzkU1luJpN8,137660
|
|
25
|
-
PyPDFForm/widgets/checkbox.py,sha256=_1I5yh1211RgRUyWzd3NNYpI9JchqJNSJWaZAhl2uOo,1248
|
|
26
|
-
PyPDFForm/widgets/dropdown.py,sha256=zszIT5MI6ggBRUEn7oGBKK0pKmDC9LQw3RnqaKG8ocQ,1764
|
|
27
|
-
PyPDFForm/widgets/image.py,sha256=6y8Ysmk49USr_qWOXD6KGL6cch516cUIlrxoj0pJy9Q,797
|
|
28
|
-
PyPDFForm/widgets/radio.py,sha256=ipadJyHbgftDUvjGk15kapzgHPN3HjdF_iB_7amXR6o,2737
|
|
29
|
-
PyPDFForm/widgets/signature.py,sha256=FdXzja3RTuyU9iyA5Y1yPb4Gsfe4rYlM4gcwekIuwog,4997
|
|
30
|
-
PyPDFForm/widgets/text.py,sha256=O9aTZLnpB_k-ZWx6jNbfKbVLq-O1zjwN3reBMwTNG2M,1241
|
|
31
|
-
pypdfform-2.5.0.dist-info/licenses/LICENSE,sha256=43awmYkI6opyTpg19me731iO1WfXZwViqb67oWtCsFY,1065
|
|
32
|
-
pypdfform-2.5.0.dist-info/METADATA,sha256=r860fmyW62b7Vl9lIJiIVllhtQOKrunEnL9DQb0Bu-0,4688
|
|
33
|
-
pypdfform-2.5.0.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
|
|
34
|
-
pypdfform-2.5.0.dist-info/top_level.txt,sha256=GQQKuWqPUjT9YZqwK95NlAQzxjwoQrsxQ8ureM8lWOY,10
|
|
35
|
-
pypdfform-2.5.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|