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:
pytesseractlangdetectpandasPyMuPDFicecreamPillowargparse
License
This project is licensed under the MIT License.
Author
- Harish Kumar S
- GitHub: Harish-nika
- Email: harishkumar56278@gmail.com
- portfolio: Harish Kumar S - AI ML Engineer
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file language_processing_tool-0.2.7.tar.gz.
File metadata
- Download URL: language_processing_tool-0.2.7.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a536db53fb670105fc829a90f2e2d75e46cdb9c24bfe0e7907fe17f61cfad42
|
|
| MD5 |
6f02902088014dcf449ae8ca19a9845d
|
|
| BLAKE2b-256 |
dc649800103e9fc46e141ae6585c6772aef523d13269e8b719e82582cf9559cd
|
File details
Details for the file language_processing_tool-0.2.7-py3-none-any.whl.
File metadata
- Download URL: language_processing_tool-0.2.7-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
025c37ec7b0ac96a3b8b0fe5af3ad4dcd34eefda2069d998dbf1d5f18d649be8
|
|
| MD5 |
c9b7ab4fc730a394988cbfdf54026238
|
|
| BLAKE2b-256 |
87167f09845c2e60a320dfc87c6a3185bc7420a776cf181429058f432521a872
|