A simple CLI app for basic PDF modifications.
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simple_pdf_cli-0.2.1.tar.gz.
File metadata
- Download URL: simple_pdf_cli-0.2.1.tar.gz
- Upload date:
- Size: 11.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c631bcec32414545583bce2ad687a5148cf813e1e20261fe1a5f84d0f539152
|
|
| MD5 |
3a1f867a13b526da72b5dacfc51ad017
|
|
| BLAKE2b-256 |
2b03a9f82cef3a751f5988485c05329b0b40b5bced76caa71cdeb7fc1cfd5414
|
Provenance
The following attestation bundles were made for simple_pdf_cli-0.2.1.tar.gz:
Publisher:
publish-to-pypi.yml on Falachi/simple-pdf-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simple_pdf_cli-0.2.1.tar.gz -
Subject digest:
9c631bcec32414545583bce2ad687a5148cf813e1e20261fe1a5f84d0f539152 - Sigstore transparency entry: 817020857
- Sigstore integration time:
-
Permalink:
Falachi/simple-pdf-cli@d15deeecbb13131b100b8f5e96853308297cbd39 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/Falachi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@d15deeecbb13131b100b8f5e96853308297cbd39 -
Trigger Event:
push
-
Statement type:
File details
Details for the file simple_pdf_cli-0.2.1-py3-none-any.whl.
File metadata
- Download URL: simple_pdf_cli-0.2.1-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c671be4f33497365897d6fbe51d318d4909d070242aa7731cfb5bdcb0465cee
|
|
| MD5 |
17e832e3740a08ffe87e4d31485e4336
|
|
| BLAKE2b-256 |
050b2ef3c7498e9a52ffee21e47b8209b1d56f63c2a521f367407e7e43ea3dba
|
Provenance
The following attestation bundles were made for simple_pdf_cli-0.2.1-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on Falachi/simple-pdf-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simple_pdf_cli-0.2.1-py3-none-any.whl -
Subject digest:
7c671be4f33497365897d6fbe51d318d4909d070242aa7731cfb5bdcb0465cee - Sigstore transparency entry: 817020886
- Sigstore integration time:
-
Permalink:
Falachi/simple-pdf-cli@d15deeecbb13131b100b8f5e96853308297cbd39 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/Falachi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@d15deeecbb13131b100b8f5e96853308297cbd39 -
Trigger Event:
push
-
Statement type: