gs-batch-pdf
What it is
gs-batch-pdf is a free, MIT-licensed command-line tool for processing PDF files in parallel on Windows, Linux, and macOS. It uses Ghostscript compression presets including /screen, /ebook, /printer, /prepress, and /default. PDFs can be converted to PDF/A-1, PDF/A-2, or PDF/A-3; correct PDF/A-2 and PDF/A-3 conversion requires Ghostscript 10.04.0 or newer. Recursive directory processing, per-file progress, filename prefixes and suffixes, and choices between smaller or newly processed files support batch workflows. Failures can prompt, skip, or abort, while silent options support unattended runs. Users may pass arbitrary Ghostscript options. Python 3.12 or later and a separate Ghostscript installation are required. The project recommends pipx, with pip also supported. Ghostscript is AGPL-licensed. Issues and feature requests go through GitHub, and contributions use pull requests.
For and against
For
- Free MIT-licensed command-line tool
- Parallel processing across Windows, Linux, and macOS
- Recursive folders and per-file progress
- Multiple compression presets and PDF/A targets
- Silent options for unattended batches
Against
- Requires Python 3.12 or newer
- Ghostscript must be installed separately
- No API access listed
- Not an offline desktop app
The verdict
gs-batch-pdf offers flexible batch PDF processing with compression, archival conversion, and automation controls. Its command-line design and separate runtime requirements suit technical users comfortable with Python and Ghostscript.
Who it suits
gs-batch-pdf suits users who need scripted, repeatable PDF compression or PDF/A conversion across folders. It is intended for command-line workflows rather than a graphical desktop application.
Plans and prices
Free
MIT-licensed command-line tool; requires Python 3.12+ and Ghostscript
Read 11 Oct 2026 · github.com
On the record
- Automation
- The README documents silent and unattended batch use, including options to force overwrites, suppress opening the output folder, and skip errors.github.com · read 11 Oct 2026
- Batch controls
- It can recursively process directory trees and report per-file progress.github.com · read 11 Oct 2026
- Batch search
- It can recursively search directory trees when run with the -r flag.github.com · read 11 Oct 2026
- Compression
- It supports Ghostscript compression presets /screen, /ebook, /printer, /prepress, and /default.github.com · read 11 Oct 2026
- Custom options
- Users can pass arbitrary Ghostscript command-line options to the tool.github.com · read 11 Oct 2026
- Error handling
- On processing errors, it can prompt, skip failed files, or abort.github.com · read 11 Oct 2026
- File handling
- It can keep the smaller of the original and processed files, or always keep the new version, and supports filename prefixes and suffixes.github.com · read 11 Oct 2026
- Install requirements
- The README lists Python 3.12 or later and Ghostscript as prerequisites, and recommends installing the package with pipx; pip is also supported.github.com · read 11 Oct 2026
- Integration
- PDF processing uses Ghostscript, which must be installed separately.github.com · read 11 Oct 2026
- Integrations
- The tool uses Ghostscript for PDF processing and can be installed with pipx or pip.github.com · read 11 Oct 2026
- License
- The README says gs-batch-pdf is licensed under MIT and describes Ghostscript as AGPL-licensed.github.com · read 11 Oct 2026
- PDF/A
- It converts PDFs to PDF/A-1, PDF/A-2, or PDF/A-3, and the README says PDF/A-2 and PDF/A-3 require Ghostscript 10.04.0 or higher for correct conversion.github.com · read 11 Oct 2026
- Purpose
- gs-batch-pdf is a command-line tool for batch processing PDFs with parallel execution.github.com · read 11 Oct 2026
- Requirements
- Running the tool requires Python 3.12 or newer and an installed Ghostscript executable.github.com · read 11 Oct 2026
- Security and licensing
- The project says gs-batch-pdf is licensed under MIT and identifies Ghostscript as AGPL-licensed; the README does not state security certifications or compliance claims.github.com · read 11 Oct 2026
- Support
- The project invites bug reports and feature requests through GitHub Issues and contributions through pull requests.github.com · read 11 Oct 2026