The Python library for PDF forms.
Project description
PyPDFForm
PyPDFForm is a pure Python library for PDF form processing. It allows filling a PDF form programmatically by creating a Python dictionary with keys matching its annotated names for elements like text fields and checkboxes. It also supports other functionalities such as drawing image and merging multiple PDFs together.
Installing
Install using pip:
pip install PyPDFForm
Quick Example
A sample PDF form can be found here. Download it and try:
import os
from PyPDFForm import PyPDFForm2
PATH_TO_DOWNLOADED_SAMPLE_PDF_FORM = os.path.join(
os.path.expanduser("~/Downloads"), "sample_template.pdf"
) # Change this to where you downloaded the sample PDF form
PATH_TO_FILLED_PDF_FORM = os.path.join(
os.path.expanduser("~"), "output.pdf"
) # Change this to where you wish to put your filled PDF form
with open(PATH_TO_FILLED_PDF_FORM, "wb+") as output:
output.write(
PyPDFForm2(PATH_TO_DOWNLOADED_SAMPLE_PDF_FORM)
.fill(
{
"test": "test_1",
"check": True,
"test_2": "test_2",
"check_2": False,
"test_3": "test_3",
"check_3": True,
},
)
.read()
)
After running the above code snippet you can find output.pdf
at the location you specified,
and it should look like this.
Documentation
PyPDFForm vs PyPDFForm2
PyPDFForm provides additional functionalities like editable support for PDF forms created using Adobe Acrobat or Sejda.
PyPDFForm2 supports PDF forms made by a wider range of tools, while discarding some of those additional functionalities.
It is strongly advised that you use PyPDFForm2 since only minimum supports will be made to PyPDFForm from now on.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for PyPDFForm-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c7feeacdc8d5e3a00b1bcebeee2769242aa49e1834f08ea40235408e81e406d |
|
MD5 | d92f553c4b77c223c1e59c93f15d5f36 |
|
BLAKE2b-256 | 399804ffe70e54ce5d2fdffce7d6b2654389ec2a0e128905084ce349d99f2238 |