Other utilities
PyPDFForm offers additional utilities similar to other PDF libraries.
This section of the documentation uses this PDF as an example.
Blank PDFs
Use the BlankPage class with PdfWrapper to create new blank PDFs. The following example generates a PDF with a single blank page:
from PyPDFForm import BlankPage, PdfWrapper
blank_pdf = PdfWrapper(BlankPage())
blank_pdf.write("output.pdf")
By default, BlankPage generates a letter-size (612 x 792 points or 8.5 x 11 inches) blank PDF page. To change the dimensions, specify width and height (in points) when you instantiate the object:
from PyPDFForm import BlankPage, PdfWrapper
blank_pdf = PdfWrapper(BlankPage(width=595.35, height=841.995)) # A4 size
blank_pdf.write("output.pdf")
To create a blank PDF with multiple pages, multiply the BlankPage object by the number of pages you need:
from PyPDFForm import BlankPage, PdfWrapper
blank_pdf = PdfWrapper(BlankPage() * 3) # 3 pages of letter size
blank_pdf.write("output.pdf")
Extract pages
The PdfWrapper object has a .pages attribute, which is a list of PdfWrapper objects representing individual pages:
from PyPDFForm import PdfWrapper
first_page = PdfWrapper("sample_template.pdf").pages[0]
first_page.fill(
{
"test": "test_1",
"check": True,
},
)
first_page.write("output.pdf")
Merge multiple PDFs
You can merge multiple PDF files by adding their PdfWrapper objects. For example, to merge this PDF and this PDF:
from PyPDFForm import PdfWrapper
pdf_one = PdfWrapper("dummy.pdf")
pdf_two = PdfWrapper("sample_template.pdf")
merged = pdf_one + pdf_two
merged.write("output.pdf")
To reorganize pages:
from PyPDFForm import PdfWrapper
pdf_one = PdfWrapper("dummy.pdf")
pdf_two = PdfWrapper("sample_template.pdf")
merged = pdf_two.pages[0] + pdf_one + pdf_two.pages[1:]
merged.write("output.pdf")
Change PDF version
PyPDFForm allows you to modify the PDF version up to 2.0:
from PyPDFForm import PdfWrapper
new_version = PdfWrapper("sample_template.pdf").change_version("2.0")
new_version.write("output.pdf")