forked from wasmerio/Python-Scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmerger.py
More file actions
31 lines (23 loc) · 940 Bytes
/
Copy pathmerger.py
File metadata and controls
31 lines (23 loc) · 940 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import PyPDF2
import os
class PDFMerger:
def __init__(self):
self.pdf_list = []
def add_pdf(self, pdf_file):
if os.path.isfile(pdf_file) and pdf_file.endswith('.pdf'):
self.pdf_list.append(pdf_file)
print(f'Added: {pdf_file}')
else:
print(f'Error: Invalid file - {pdf_file}')
def merge_pdfs(self, output_filename):
pdf_writer = PyPDF2.PdfWriter()
try:
for pdf in self.pdf_list:
pdf_reader = PyPDF2.PdfReader(pdf)
for page in range(len(pdf_reader.pages)):
pdf_writer.add_page(pdf_reader.pages[page])
with open(output_filename, 'wb') as output_pdf:
pdf_writer.write(output_pdf)
print(f'Merged {len(self.pdf_list)} PDFs into "{output_filename}".')
except Exception as e:
print(f'Error during merging: {e}')