Simple PDF-CLI
Simple PDF-CLI is a simple Python CLI app to edit PDFs directly from the terminal. Install with pip: pip install simple-pdf-cli
Current features:
- Merge multiple PDFs
- Convert PDF to images
- Combine images to a PDF
- Reorder pages of a PDF
- Trim pages of a PDF
- Split a PDF into multiple PDFs
- Encrypt a PDF
- Decrypt a PDF
- Compress a PDF
Testing photos by Pavel Moiseev on Unsplash.
Note:
The PDF to Images feature requires poppler to function.
Windows
I recommend using Scoop for easy installation. scoop install poppler
Otherwise you can download manually from here and add the bin directory to PATH.
MacOS
You can use Homebrew to install.
brew install poppler
Linux
Install poppler-utils with a package manager of your choice.
Usage Examples
Merge
pdfcli merge file1.pdf file2.pdf -o merged.pdf
Images to PDF
pdfcli image1.png image2.png image3.png -o output.pdf
PDF to Images
pdfcli file.pdf -o out_images
Reorder
pdfcli input.pdf -o output.pdf -r 3,1,2
Trim
pdfcli input.pdf -o output.pdf -p 1-5,7,10-12,9
Split
pdfcli split input.pdf -o out_pdfs -p 1-5,3-6,7
Encrypt
pdfcli encrypt file.pdf -o output.pdf -p password1
Decrypt
pdfcli decrypt file.pdf -o output.pdf -p password1
Compress
pdfcli compress input.pdf -o output.pdf -l 6 -q medium
Installation
Using pip (recommended):
pip install simple-pdf-cli
Manual Installation:
- Clone the repo
git clone https://github.com/Falachi/simple-pdf-cli.git
- Go to project directory
cd simple-pdf-cli
- Install package
pip install -e .
To-Do List
- Implement proper type and error checking
- Compress PDF
- Split PDF
- Password protect
- Allow a
.txtfile as input for arguments that accept multiple files - Edit PDF metadata
- Upload to PyPI
- Separate CLI and core functions
- Create a GUI version
Metadata
Release files for simple-pdf-cli 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| simple_pdf_cli-0.2.1.tar.gz | 11.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| simple_pdf_cli-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.9 kB
Release files / simple_pdf_cli-0.2.1.tar.gz
| Download URL | simple_pdf_cli-0.2.1.tar.gz |
|---|---|
| Size | 11.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c631bcec32414545583bce2ad687a5148cf813e1e20261fe1a5f84d0f539152
|
|
BLAKE2b-256 checksum How to use checksums |
2b03a9f82cef3a751f5988485c05329b0b40b5bced76caa71cdeb7fc1cfd5414
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 13, 2026.
Transparency logRelease files / simple_pdf_cli-0.2.1-py3-none-any.whl
| Download URL | simple_pdf_cli-0.2.1-py3-none-any.whl |
|---|---|
| Size | 16.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c671be4f33497365897d6fbe51d318d4909d070242aa7731cfb5bdcb0465cee
|
|
BLAKE2b-256 checksum How to use checksums |
050b2ef3c7498e9a52ffee21e47b8209b1d56f63c2a521f367407e7e43ea3dba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 13, 2026.
Transparency log