Skip to content

Instantly share code, notes, and snippets.

@gurusura
Forked from ilovefreesw/pdfcompress.py
Created April 3, 2022 05:51
Show Gist options
  • Save gurusura/2a7fd4d9279ec03641095b02dd273320 to your computer and use it in GitHub Desktop.
Save gurusura/2a7fd4d9279ec03641095b02dd273320 to your computer and use it in GitHub Desktop.
A Python script to batch compress PDF files on Windows, MAC, and Linux. Make sure gs and Python are in PATH before running this script.
from __future__ import print_function
import os
import subprocess
root = "."
try:
os.mkdir('compressed')
except FileExistsError:
pass
for file in os.listdir(root):
if file.endswith(".pdf"):
filename = os.path.join(root, file)
arg1= '-sOutputFile=' + './compressed/' + file
print ("compressing:", file )
p = subprocess.Popen(['gs', '-sDEVICE=pdfwrite', '-dCompatibilityLevel=1.4', '-dPDFSETTINGS=/screen', '-dNOPAUSE', '-dBATCH', '-dQUIET', str(arg1), filename], stdout=subprocess.PIPE).wait()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment