Skip to main content

Python script to make documents look like they were scanned.

Project description

look-like-scanned

Pylint PyTest license Contributions Welcome made-with-python

  • Python script to make documents look like they were scanned.

  • Local, Private, Secure, Open-Source and Transparent!

  • 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 folder with a suffix "File_Name_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
cd look-like-scanned
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

# Convert all PDF files including sub folders and save in black & white format
scanner -i .\tests -f "pdf" -r yes -b 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
  • -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
  • -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
  • -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
  • -b, --black_and_white : Controls whether to save output documents in black and white format (to make it look like a photocopy) . Accepted values are "yes" or "no". The default value is "no".

    • Example: -b yes or --black_and_white no
  • -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

❗❗ 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.

  • Transparency will be removed from png files when converting to pdf.

  • Password protected PDF files are not yet supported.

  • Youtube: How to Insert a Signature on a PDF File

License

MIT license

Support This Project

Paypal Badge BuymeCoffee Badge Ko-Fi Badge

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

look_like_scanned-1.0.0.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

look_like_scanned-1.0.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file look_like_scanned-1.0.0.tar.gz.

File metadata

  • Download URL: look_like_scanned-1.0.0.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for look_like_scanned-1.0.0.tar.gz
Algorithm Hash digest
SHA256 acf97d5047edeab5933f9dc9030ead9ecad2445d53fab6d1b8fbcd3f61b7ce1b
MD5 39242c742a4c5fab093f85a66658fb79
BLAKE2b-256 2b5d554e0d0dbf052b7a22815665cad81830dbdff46ed62005e83ae8ee81433b

See more details on using hashes here.

File details

Details for the file look_like_scanned-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for look_like_scanned-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c8a4710d499a0add2867c0b1af297787c3f28a0697d4e7eb903078967c76a8ec
MD5 c34703b8ff5285656e7f9471fc0a149b
BLAKE2b-256 912c31ebbb371b1ecddb806ebbbc61d70424127f12b3f5fcdd95804adb7099c1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page