PDF Manipulation - Merging and Splitting
Library choice
Section titled “Library choice”A common modern option is pypdf (successor of PyPDF2).
Merge PDFs
Section titled “Merge PDFs”from pypdf import PdfMerger
merger = PdfMerger()
merger.append("a.pdf")
merger.append("b.pdf")
merger.write("merged.pdf")
merger.close()Split a PDF
Section titled “Split a PDF”from pypdf import PdfReader, PdfWriter
reader = PdfReader("input.pdf")
for i, page in enumerate(reader.pages, start=1):
writer = PdfWriter()
writer.add_page(page)
with open(f"page_{i}.pdf", "wb") as f:
writer.write(f)- encrypted PDFs need extra handling
- layout/text extraction is a different problem (next page)
pch.coffeeTagline
pch.coffeeCtapch.feedbackHeading
pch.feedbackSubheading