Skip to content

Merge, split and rotate PDFs in Python

Python functions that merge, split, extract, remove, rotate, crop and scale PDF pages into new files.

Page selections take numbers and ranges such as "1, 3-5"; all pages when omitted.

FunctionWhat it doesReturns
merge(inputs, output)Combine PDFs in orderWritten
split(path, output_folder, pages=, mode="ranges"|"pages")One PDF per range or per page; the folder is created if missingSplitResult
extract_pages(path, pages, output)Keep only some pagesWritten
remove_pages(path, pages, output)Drop pagesWritten
rotate_pages(path, output, pages=, angle=90|180|270)Rotate clockwiseWritten
resize_pages(path, output, mode="crop"|"scale", pages=, margin=24, factor=1)Crop a margin (points) from each edge, or scaleWritten

Examples

Python
import superpdf

superpdf.merge(["cover.pdf", "report.pdf", "appendix.pdf"], "full.pdf")
parts = superpdf.split("book.pdf", "chapters", pages="1-10, 11-20")
print([part["output"] for part in parts["outputs"]])

superpdf.extract_pages("report.pdf", "1, 3-5", "selected.pdf")
superpdf.remove_pages("report.pdf", "2", "without-page-2.pdf")
superpdf.rotate_pages("scan.pdf", "upright.pdf", pages="2", angle=180)
superpdf.resize_pages("slides.pdf", "trimmed.pdf", mode="crop", margin=36)

All functions are listed on All functions.