Private PDF Converter is a secure, offline tool that quickly converts image files (like PNGs) into PDFs without needing an internet connection - keeping your data private on your device.
It supports converting single images or entire directories into single PDF files. You can also merge multiple PDFs from a folder into one file, add password encryption for security, and watermark PDFs with a logo image adjustable by size, position, and opacity. The terminal interface is simple and efficient, making complex tasks easy to handle with just a single command.
Check the roadmap below for upcoming features like PDF splitting.
- You receive an addendum from work on paper and scan it into separate files.
- You don't want to send your personal data to the cloud, nor do you want to install something big.
The solution is this CLI program - simply enter a command along with the path to the folder containing the scans, and after a moment, you'll have the combined images in a single PDF.
In three words:
Just type to install:
dotnet tool install --global PrivatePdfConverterand then just run it!
ppc dir --path "D:\dir-with-images"Example of logo command:
ppc logo --path "D:\1.pdf" --logo-path "D:\logo.png" --position "bottom-left" --scale 25 --opacity 50 --output "newpdf"| Argument | Description | Options | Optional options |
|---|---|---|---|
dir |
Converts all images inside a directory to a single PDF file. | path - path to directory |
output - PDF output name |
| See below supported file extensions. | |||
img |
Converts a single image to a single PDF file. | path - path to image |
output - PDF output name |
| See below supported file extensions. | |||
merge |
Merges all PDF files inside a directory into a single PDF file. | path - path to directory |
output - PDF output name |
encrypt |
Encrypts PDF with a password. | path - path to a PDF file |
output - PDF output name |
password - encryption password |
|||
logo |
Add image (logo) as a watermark to every page of PDF. | path - path to a PDF file |
output - PDF output name |
logo-path - path to logo image |
scale - Specifies the scale of the image in percentage (e.g., 25 for 25%, 150 for 150%). Default value: 100. |
||
opacity - Specifies the opacity of the image in percentage (e.g., 25 for 25%, 0 for 0% - invisible) Default value: 100. |
|||
position - Positions of logo. One of four values are accepted: top-left, top-right, bottom-left, bottom-right. |
|||
ext |
Lists all valid image extensions. |
For all commends, default export .pdf file name is output.pdf.
Type ext argument to list all of valid image extensions:
- .jpg
- .jpeg
- .bmp
- .gif
- .png
- .tif
- .tiff
- .webp
- convert dir to pdf (
dir) - create a PDF file from a single image (
img) - multiple image extensions support
- merge pdf (
merge) - encrypt pdf with password (
encrypt) - list all valid image extensions (
ext) - add watermark/logo to your pdf (
logo) - convert PDF to multiple images (
???) - split pdf (
split) - better TUI (menu)
- set default export dir
- readme
- features roadmap
- editorconfig
- logging
- license
- pipeline
- better readme
- cool dynamic labels (version, build, license, buymecoffe)
- integration tests
- auto release from master dotnet-releaser
- exe release
- winget/chocolatey
The project is part of the competition 100 commitow.
If you want to contribute, please take a look at the Roadmap or propose your own ideas.
Please create a Pull Request with a solution if you are eager to help. Keep in mind the structure of a solution. If you are going to create a new command, make sure to do it in the Commands directory.
Build and run using .NET 8.0:
dotnet build.\PrivatePdfConverter.exe dir --path "D:\dir-with-images"Based on micro-framework Cocona.
