pypdf

6.9.2 · active · verified Sun Mar 29

pypdf is a free and open-source pure-Python library designed for PDF file manipulation. It can split, merge, crop, and transform PDF files, as well as add custom data, viewing options, and passwords. It also supports retrieving text and metadata from PDFs. Currently at version 6.9.2, the library is actively maintained with a rapid release cadence, often seeing multiple updates per month to address bugs, security, and performance improvements.

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to create two simple PDF files and then merge them into a single output PDF using PdfReader and PdfWriter.

from pypdf import PdfReader, PdfWriter

# Create dummy PDF files for the example
with open("document1.pdf", "wb") as f:
    writer = PdfWriter()
    writer.add_blank_page(width=72, height=72)
    writer.add_page(writer.add_blank_page(width=72, height=72))
    writer.write(f)

with open("document2.pdf", "wb") as f:
    writer = PdfWriter()
    writer.add_blank_page(width=72, height=72)
    writer.add_page(writer.add_blank_page(width=72, height=72))
    writer.write(f)

# Merge multiple PDF files into one
writer = PdfWriter()

# Add pages from document1.pdf
reader1 = PdfReader("document1.pdf")
for page in reader1.pages:
    writer.add_page(page)

# Add pages from document2.pdf
reader2 = PdfReader("document2.pdf")
for page in reader2.pages:
    writer.add_page(page)

# Write the merged PDF to a new file
with open("merged_document.pdf", "wb") as output_pdf:
    writer.write(output_pdf)

print("PDFs merged successfully into merged_document.pdf")

view raw JSON →