Skip to main content

A library for processing PDFs with OCR and masking sensitive information

Project description

PDF Masking Library

pdf-masking-library is a Python library designed to process PDF files by masking sensitive information using Optical Character Recognition (OCR). It supports masking predefined patterns such as Aadhaar numbers, PAN numbers, and custom patterns provided by the user.

A Simple Example

import base64
from pdf_masking_library import process_pdf

base64_pdf_input = "Your base64 here"
custom_pattern = [r"\b\d{2}\b"]
psm = 6  # Default PSM is 6
lang = "eng+kan"  # Default OCR language is English and Kannada

base64_pdf_output = process_pdf(base64_pdf_input, custom_pattern=custom_pattern, psm=psm, lang=lang)

# Save the masked PDF to a file
with open("masked_output.pdf", "wb") as output_file:
    output_file.write(base64.b64decode(base64_pdf_output))

Masking Information

The library automatically detects and masks the following sensitive information:

  • Aadhaar Numbers: 12-digit Indian identification numbers.
  • PAN Numbers: 10-character alphanumeric Permanent Account Numbers.
  • Custom Patterns: User-defined patterns using regular expressions.

When providing a custom pattern, use the custom_pattern parameter, as shown above.

Command-Line Interface (CLI)

The library includes a CLI tool for easy integration into scripts and workflows.

python -m pdf_masking_library input.pdf output.pdf --custom-pattern "\b\d{2}\b" --psm 6 --lang eng+kan

  • Mask Aadhaar and PAN Numbers (Default Behavior):

    python -m pdf_masking_library input.pdf output.pdf

    If you do not provide a custom pattern, the library will automatically mask Aadhaar numbers and PAN numbers in the PDF.

  • Specify OCR Page Segmentation Mode (psm):

    python -m pdf_masking_library input.pdf output.pdf --psm 3

    Default is 6 if not specified.

  • Specify OCR Language (lang):

    python -m pdf_masking_library input.pdf output.pdf --lang eng+kan+tel

    Default is eng+kan. Multiple languages should be separated using +.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pdf_masking_library-0.1.5-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file pdf_masking_library-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for pdf_masking_library-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7dde546cd184e1a6d628ba7630cd123b172804bb89325ce8fbeedb75f73ede15
MD5 cc9abbb8de93e05c82c56c0f4f541af6
BLAKE2b-256 246239beab579bca0dced8bb6b74d5979c69f6cd3a590cd12135beb6e0f9d3e8

See more details on using hashes here.

Supported by

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