Skip to main content

A PDF language detection and OCR tool

Project description

Language Processing Tool

Language Processing Tool is a Python package that processes PDFs and detects languages in documents. It supports both text-based and scanned PDFs using OCR.

Installation

You can install the package from PyPI using:

pip install language-processing-tool

Features

  • Extracts text from PDFs (both text-based and scanned).
  • Uses OCR (Tesseract) for image-based PDFs.
  • Detects the dominant language and provides a language distribution.
  • Supports batch processing of multiple PDFs.
  • CLI and programmatic usage available.

Usage

In Python Code

To use this package in your Python script:

from language_processing_tool.process_pdfs import process_pdfs, process_single_file

# Process a single PDF file
print(process_single_file("/path/to/file.pdf"))

# Process multiple PDFs from a directory (using CSV input)
process_pdfs("/path/to/input_folder/", "pdf_files.csv", "/path/to/output_folder/")

Command Line Usage

After installing the package, you can use the CLI tool:

Process a Single PDF

process-pdfs /path/to/file.pdf

Batch Processing (Using CSV)

process-pdfs /path/to/input_folder/ /path/to/csv_file.csv /path/to/output_folder/

CSV File Format

The CSV file should contain a column named filename, listing the PDF filenames (without extensions). Example:

filename
document1
document2
document3

Make sure the corresponding PDFs (document1.pdf, document2.pdf, etc.) are in the specified input folder.

Project Structure

language_processing_tool
├── LICENSE
├── README.md
├── setup.py
├── pyproject.toml
├── requirements.txt
├── language_processing_tool
│   ├── __init__.py
│   ├── process_pdfs.py
│   ├── sourcecode.py
├── tests
│   ├── test.py

Entry Points

The package includes a CLI entry point:

process-pdfs <arguments>

which maps to the main() function in process_pdfs.py.

Dependencies

This package requires:

  • pytesseract
  • langdetect
  • pandas
  • PyMuPDF
  • icecream
  • Pillow
  • argparse

License

This project is licensed under the MIT License.

Author

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

language_processing_tool-0.2.7.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

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

language_processing_tool-0.2.7-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file language_processing_tool-0.2.7.tar.gz.

File metadata

File hashes

Hashes for language_processing_tool-0.2.7.tar.gz
Algorithm Hash digest
SHA256 4a536db53fb670105fc829a90f2e2d75e46cdb9c24bfe0e7907fe17f61cfad42
MD5 6f02902088014dcf449ae8ca19a9845d
BLAKE2b-256 dc649800103e9fc46e141ae6585c6772aef523d13269e8b719e82582cf9559cd

See more details on using hashes here.

File details

Details for the file language_processing_tool-0.2.7-py3-none-any.whl.

File metadata

File hashes

Hashes for language_processing_tool-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 025c37ec7b0ac96a3b8b0fe5af3ad4dcd34eefda2069d998dbf1d5f18d649be8
MD5 c9b7ab4fc730a394988cbfdf54026238
BLAKE2b-256 87167f09845c2e60a320dfc87c6a3185bc7420a776cf181429058f432521a872

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