PrivatePdfConverter 1.0.0
dotnet tool install --global PrivatePdfConverter --version 1.0.0
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local PrivatePdfConverter --version 1.0.0
#tool dotnet:?package=PrivatePdfConverter&version=1.0.0
nuke :add-package PrivatePdfConverter --version 1.0.0
π PrivatePdfConverter
β - The star motivates me a lot
<div align="center"> <img src="assets/logo.jpeg" width="200" height="200" alt="Logo"> </div>
βοΈ Description
Private PDF Converter is a secure offline tool designed to effortlessly convert PNG files stored locally into a comprehensive PDF document. With a user-friendly terminal interface, this tool prioritizes privacy by ensuring all conversion processes occur offline, eliminating any reliance on cloud services. Stay in control of your sensitive data as you seamlessly transform images into PDFs without compromising confidentiality. Future updates will introduce additional features, such as PDF splitting, to further enhance functionality (see roadmap below).
π¬ 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!
π 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
.
Example of usage - build and run using .NET 8.0:
dotnet build
.\PrivatePdfConverter.exe dir --path "D:\dir-with-images"
Example of logo command:
logo --path "D:\1.pdf" --logo-path "D:\logo.png" --position "bottom-left" --scale 25 --opacity 50 --output "newpdf"
π 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 labels (
version, build, license, buymecoffe) - integration tests
- auto release from master LINK
- 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.
π Dependencies
Based on micro-framework Cocona.
π Sonar statistics
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 307 | 6/15/2024 |