/gs-optimize

A simple python wrapper to optimize PDFs using Ghostscript. Compresses PDF to the greatest extent possible with little loss in quality.

Primary LanguagePythonMIT LicenseMIT

gs-optimize logo
gs-optimize

A simple python wrapper to optimize PDFs using Ghostscript.
Compresses PDF to the greatest extent possible with little loss in quality.

demo.mp4

Installation

Install dependencies (requires chocolatey, admin prompt):

choco install Ghostscript.app -y;
# Add gswin64.exe to environment path:
Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name path -Value $((Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name path).path + ";" + "C:\Program Files\gs\gs<version>\bin" + ";"); exit

Clone repo:

git clone https://github.com/Neelfrost/gs-optimize.git; cd .\gs-optimize

Usage

py .\gs-optimize.py
usage: gs-optimize.py [-h] [-v] src [src ...]

Optimize PDF(s) using Ghostscript. Overwrites original file(s).

positional arguments:
  src            path of PDF or folder containing PDFs to be optimized

options:
  -h, --help     show this help message and exit
  -v, --verbose  also print compression result of each individual PDF when operating on a folder

TODO

  • Add option for configuring number of threads
  • Add more options