Reduce PDF Size - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: General (https://python-forum.io/forum-1.html) +--- Forum: Code sharing (https://python-forum.io/forum-5.html) +--- Thread: Reduce PDF Size (/thread-41971.html) |
Reduce PDF Size - bg3075 - Apr-16-2024 This code prompts the user for an input & output path/filename, and compresses the original PDF. This is a huge asset when working with PDF images that are a large size by default. Must have Ghostscript(GS) installed, and hardcode the path to the GS installation in line eight (ghostscript_path =). For use with Python 3. import subprocess import os from pathlib import Path def compress_pdf_file(input_path, output_path): try: # Specify the path to Ghostscript executable (gswin32c or gswin64c) ghostscript_path = "C:\\Program Files\\gs\\gs10.03.0\\bin\\gswin64c" # Adjust this path as needed subprocess.call([ ghostscript_path, "-q", "-sDEVICE=pdfwrite", "-dCompatibilityLevel=1.3", # Set PDF version to 1.3 "-dPDFSETTINGS=/prepress", # Optimize for prepress quality "-dNOPAUSE", "-dBATCH", "-sOutputFile=" + output_path, input_path, ]) return output_path except FileNotFoundError: print("Error: Ghostscript (gs) not found. Please install Ghostscript.") return None def main(): input_pdf_path = input("Enter the path to the input PDF file: ") output_pdf_path = input("Enter the path to save the optimized PDF file: ") compressed_path = compress_pdf_file(input_pdf_path, output_pdf_path) if compressed_path: print(f"PDF successfully optimized and saved as {compressed_path}") if __name__ == "__main__": main() |