Skip to content

Instantly share code, notes, and snippets.

@haasr
Created April 19, 2026 22:04
Show Gist options
  • Select an option

  • Save haasr/c8e08469ffac2fe4302b2506b4668e91 to your computer and use it in GitHub Desktop.

Select an option

Save haasr/c8e08469ffac2fe4302b2506b4668e91 to your computer and use it in GitHub Desktop.
Good PDF Merge Script
#! /usr/local/bin/python3.12
from pypdf import PdfWriter
from pathlib import Path
import sys
import os
def get_files(directory):
pdfs = []
for fname in os.listdir(directory):
if fname.lower().endswith('.pdf'):
pdfs.append(os.path.join(directory, fname))
return pdfs
def merge_pdfs(directory, pdfs):
merger = PdfWriter()
[ merger.append(str(pdf)) for pdf in pdfs ]
merger.write((dir / f"{directory}-merged.pdf").as_posix())
merger.close()
if __name__ == '__main__':
if len(sys.argv) == 2:
dir = sys.argv[1]
dir = Path(dir)
pdfs = get_files(dir)
merge_pdfs(dir, pdfs)
else:
print("You must supply the directory, fool")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment