Merge multiple PDF files into a single PDF.
:param pdf_paths: List of paths to PDF files to merge. :param output_path: Path to save the merged PDF.
Source code in source/src/pdf.py
| def merge_pdfs(pdf_paths, output_path, all_pages=False):
"""
Merge multiple PDF files into a single PDF.
:param pdf_paths: List of paths to PDF files to merge.
:param output_path: Path to save the merged PDF.
"""
# Assigning the pdfWriter() function to pdfWriter.
pdfWriter = PyPDF2.PdfWriter()
for filename in pdf_paths: # Starting a for loop.
pdf_file = open(filename, 'rb') # Opens each of the file paths in filename variable.
# Reads each of the files in the new variable you've created above and stores into memory.
pdf_reader = PyPDF2.PdfReader(pdf_file)
if all_pages:
for i in range(len(pdf_reader.pages)):
pdfWriter.add_page(pdf_reader.pages[i])
else:
page = pdf_reader.pages[0] # Documents of only one page, so we are interested in the first
pdfWriter.add_page(page) # Adds each of the PDFs it's read to a new page.
f = open(output_path, 'wb')
# Writing the output file using the pdfWriter function.
pdfWriter.write(f)
f.close()
|