Skip to content

Instantly share code, notes, and snippets.

@dreua
Forked from Geekfish/merge_pdfs.py
Last active April 28, 2023 01:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dreua/ab99543b7cc1b670419d1d3054a3a30e to your computer and use it in GitHub Desktop.
Save dreua/ab99543b7cc1b670419d1d3054a3a30e to your computer and use it in GitHub Desktop.
pyPDF2 merge 2 pdf pages into one
#!/bin/python3
from PyPDF2 import PdfFileReader, PdfFileWriter
from PyPDF2 import PageObject
# Theses files are just for testing, no point in merging these
reader = PdfFileReader(open("Nextcloud Manual.pdf",'rb'))
# this defines the output page format (relevant if not the same)
sup_reader = PdfFileReader(open("Cplusplus.pdf",'rb'))
writer = PdfFileWriter()
for pageNo in range(min(reader.getNumPages(), sup_reader.getNumPages())):
print("Merging page:", pageNo)
invoice_page = reader.getPage(pageNo)
sup_page = sup_reader.getPage(pageNo)
translated_page = PageObject.createBlankPage(None, sup_page.mediaBox.getWidth(), sup_page.mediaBox.getHeight())
translated_page.mergeScaledTranslatedPage(sup_page, 1, 0, 0)
translated_page.mergePage(invoice_page)
writer.addPage(translated_page)
with open('out.pdf', 'wb') as f:
writer.write(f)
@dreua
Copy link
Author

dreua commented Sep 16, 2022

@fomightez Thank you, I just edited this Gist accordingly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment