rocketpdf is python-based powerful CLI app that take basic pdf operations and elevates the user experience to the next level, allowing the user to not only convert and modify existing pdf files, but to chain operations and get a polished final result in a single swing!
This project "concatenates" efforts of different open-source solutions like docx2pdf
, pdf2docx
or typer
and creates a powerful tool for quickly managing and modifying pdf files from the console.
pip install rocketpdf
[!TIP] It is always recommended to open a terminal inside the directory you will be working.
Command | Description |
---|---|
parsedoc |
Converts .docx file into .pdf file. |
parsedocxs |
Converts all .docx files inside a directory into .pdf files. |
parsepdf |
Converts .pdf file into .docx file. |
merge |
Merges multiple .pdf files into a single.pdf file. |
mergeall |
Merges all .pdf files inside a directory into a single .pdf file. |
extract |
Extract a certain range of pages from a .pdf file. |
compress |
Reduces the size of .pdf file. |
rocketpdf
is a powerful tool that allows users to execute multiple commands in a single line by passing the binary result of a file onto the next operation.
To chain multiple operations it is assumed that that the previous operations file result will be the input of the next command.
Let's download all monthly invoices into Invoices 2024
folder and compress
the file for easier upload:
rocketpdf mergeall ".\Invoices 2024" compress -o Invoices_2024.pdf
Let's convert my Resume.docx
to .pdf
and append my Cover_Letter.pdf
rocketpdf parsedoc Resume.docx merge Cover_Letter.pdf -o Job_Application.pdf
Let's extract
the first page of passsport.pdf
and append my bank_deposit_info.pdf
:
rocketpdf extract passport.pdf 1 merge bank_deposit_info.pdf -o payment_information.pdf
[!CAUTION]
parsedoc
is generally a starting command in a chain, so it cannot be used after any other operation.mergeall
is generally a starting command in a chain, so it cannot be used after any other operation.parsedocxs
is not chainable.parsepdf
is not chainable (for now).
rocketpdf
is compatible with _Windows_
and _Mac_
systems with MS Word
installed.
[!IMPORTANT] Unfortunately
_Linux_
users cannot parse.docx
files into
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
Fork the Repository
Clone the Repository to your local machine:
Create a Branch
Make Your Changes.
Commit (and Detail) Your Changes.
Push your changes.
Open a Pull Request from your branch to the main branch of this repository. Provide a clear and descriptive title and description for your PR.
Code Review and Merge
[!IMPORTANT] Black was used as the code formatter for this project. Please ensure that your code is formatted with Black before submitting a pull request.
Install black via pip
pip install black
black {source_file_or_directory}...
Set as default formatter via VS Code extension
"[python]": { "editor.defaultFormatter": "ms-python.black-formatter", "editor.formatOnSave": true }