Created
August 27, 2024 13:12
-
-
Save Lh4cKg/1c674336c70f4eae8fda33a4af6d233f to your computer and use it in GitHub Desktop.
Merge Pdf Files & Merger & Python
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from pathlib import Path | |
from PyPDF2 import PdfMerger, PdfWriter, PdfReader | |
OUTPUT_FILE_NAME = 'Out File Name' | |
PDF_FILES = Path(f'/absolue_path/{OUTPUT_FILE_NAME}/').resolve() | |
PDF_FILE = PDF_FILES / f'{OUTPUT_FILE_NAME}.pdf' | |
def sort_by_enumeration(file): | |
name = file.name[0:2] | |
if name.endswith('.'): | |
name = name[:-1] | |
try: | |
return int(name) + 10 | |
except ValueError: | |
return file.name | |
def pdf_merger(files): | |
merger = PdfMerger() | |
for file in sorted(files, key=sort_by_enumeration): | |
print(file.name) | |
if file.is_file and file.suffix == '.pdf': | |
merger.append(file) | |
merger.write(f'{OUTPUT_FILE_NAME}.pdf') | |
def remove_pages(in_file, pages): | |
reader = PdfReader(in_file, 'rb') | |
writer = PdfWriter() | |
for i in range(len(reader.pages)): | |
if i not in pages: | |
p = reader.pages[i] | |
writer.add_page(p) | |
with open(f'{COURSE}.pdf', 'wb') as f: | |
writer.write(f) | |
if __name__ == '__main__': | |
pdf_merger(PDF_FILES.iterdir()) | |
del_pages = [ | |
6, 7, 8, 11, 39, 47, 113, 132, 137, 205, 306, 361 | |
] | |
del_pages1 = [i - 1 for i in del_pages] | |
remove_pages(PDF_FILE, del_pages1) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pypdf2==3.0.1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment