Python script to make documents look like they were scanned.
Project description
look-like-scanned
-
Python script to make documents look like they were scanned.
-
It converts every page of a given PDF file into an image-based page and applies random askew and brightness (very mild) effects to simulate the appearance of scanned documents.
-
The resulting pages are then combined back into an Output PDF file.
-
There are options to combine / convert image files into PDF as well.
-
Output PDF files are saved in the same input folder with a suffix "filename_output.pdf"
Installation
Install from the Python Package Index (PyPI)
pip install look-like-scanned
Or to install latest version from GitHub
git clone https://github.com/navchandar/look-like-scanned.git
pip install poetry
poetry install
pip install .
Verify Installation:
# Print help message and usage options available
scanner -h
Usage
This package uses PIL and pypdfium2 to convert and manipulate image and pdf objects.
This is extended to provide a command-line interface (CLI) for easy usage.
# Convert all pdf files in folder to scanned pdf
scanner -i .\tests
scanner -i .\tests -f "pdf"
# Convert all pdf files in folder to scanned without askew
scanner -i .\tests -a no
# Convert specific pdf file in folder to scanned pdf
scanner -i .\tests -f "test.pdf"
# Convert all jpg, jpeg, png, webp files in folder to one pdf file
scanner -i .\tests -f "image"
# Convert all png files in folder to pdf with 100% quality to one pdf file
scanner -i .\tests -f "png" -q 100
# Convert specific jpg file in folder to pdf with 75% quality to one pdf file
scanner -i .\tests -f "JPG_Test.jpg" -q 75
# Convert all PDF files including sub folders
scanner -i .\tests -f "pdf" -r yes
# Convert all Images including sub folders into one PDF
scanner -i .\tests -f "image" -r yes
Arguments
These are the command-line arguments accepted:
-
-i, --input_folder
: Specifies the input folder to read files from and convert. The default value is the current directory.- Example:
-i /path/to/files
or-i C:\files\documents
- Example:
-
-f, --file_type_or_name
: Specifies the file types to process or the file name to convert. The default value is "pdf" to convert all pdf files in the given input folder.- Example:
-f pdf
or-f image.jpg
or-f image
- Example:
-
-q, --file_quality
: Specifies the quality of the converted output files. The value must be between 50 and 100. The default value is 95.- Example:
-q 90
- Example:
-
-a, --askew
: Controls whether to make the output documents slightly askew or slightly tilted. Accepted values are "yes" or "no". The default value is "yes".- Example:
-a yes
or--askew no
- Example:
-
-r, --recurse
: Allows scripts to find all matching files including subdirectories. Accepted values are "yes" or "no". The default value is "yes".- Example:
-r yes
or--recurse no
- Example:
❗❗ Note: ❗❗
-
The supported file types are: ".jpg", ".png", ".jpeg", ".webp", ".pdf".
-
The output PDF file size will be bigger than the input file because the pages are stored in image format.
-
Bookmarks / Links / Metadata will be removed when saving the output file.
-
Password protected PDF files are not yet supported.
License
Support This Project
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
Hashes for look_like_scanned-0.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a9f965f1420207d51cf7026716edacefb5900de8b0e72815dbf3729c3ecf4ee |
|
MD5 | 79c0586c2fccb7529f24b966fcef7b82 |
|
BLAKE2b-256 | bfae519ab9f010dcdef1e80b010540e11a160db452c5cecba1080343d1f94a93 |