Skip to content

Private PDF Converter is a simple, secure offline tool for quickly turning your image files (like PNGs) into a single PDF - no internet required. Your files stay private on your device.

License

Notifications You must be signed in to change notification settings

jurczewski/private-pdf-converter

Repository files navigation

πŸ”Ž PrivatePdfConverter

100 - CommitΓ³w Build NuGet version (PrivatePdfConverter) License: MIT Linkedin

Buy Me A Coffee

⭐ - The star motivates me a lot

Logo

βœ’οΈ Description

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.

🎬 Real Life Scenario

  • 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:

✨ Small, offline, and convenient!

⚑ Install

Just type to install:

dotnet tool install --global PrivatePdfConverter

and 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"

πŸ“ Arguments

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.

πŸ“Œ Supported file extensions

Type ext argument to list all of valid image extensions:

  • .jpg
  • .jpeg
  • .bmp
  • .gif
  • .png
  • .tif
  • .tiff
  • .webp

πŸ—ΊοΈ Features roadmap

  • 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

🎯 Other

  • 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

πŸ… Competition 100commitow

The project is part of the competition 100 commitow.

⌨️ Development

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.

Local

Build and run using .NET 8.0:

dotnet build
.\PrivatePdfConverter.exe dir --path "D:\dir-with-images"

πŸ”— Dependencies

Based on micro-framework Cocona.

πŸ“ˆ Sonar statistics

Quality Gate Bugs Code Smells Duplicated Lines (%) Lines of Code Reliability Rating Security Rating Technical Debt Maintainability Rating Vulnerabilities

About

Private PDF Converter is a simple, secure offline tool for quickly turning your image files (like PNGs) into a single PDF - no internet required. Your files stay private on your device.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages