Enterprise-grade SDK for extracting text, tables, structure, and entities from documents
Project description
OmniDoc PDF Intelligence SDK
Enterprise-grade PDF understanding for Agentic AI, RAG, and automation systems
🚀 Overview
OmniDoc is a production-ready PDF intelligence SDK designed to convert raw PDFs (documents, slides, brochures, scanned files) into clean, structured, agent-ready outputs.
It goes beyond OCR by applying layout intelligence, semantic normalization, metric extraction, and agent-native serialization.
Built for:
- Agentic AI systems
- RAG (Retrieval-Augmented Generation)
- Knowledge Bases
- Autonomous remediation & workflows
- Enterprise document automation
🧠 Core Capabilities
Supported PDF Types
- Digital PDFs
- Slide decks & brochures
- Scanned PDFs
- Mixed-content PDFs
Intelligence Layers
- PDF type detection (digital vs scanned)
- OCR (Tesseract / AWS Textract)
- Layout-aware block ordering
- Vision-Language Models (Donut – optional)
- Slide → report restructuring
- Heading detection & paragraph merging
- Bullet normalization
- Table → metric extraction
- Noise & artifact removal
- RAG-ready chunking
Output Formats
- Python-native
Document - Enterprise JSON
- Agent-native TOON
📦 Installation
pip install omnidoc
System Dependencies (macOS / Linux)
brew install poppler tesseract
Optional:
pip install pdf2image pytesseract
🏗️ Architecture
PDF
│
├─ Detection (Digital / Scanned)
│
├─ Extraction
│ ├─ Text
│ ├─ OCR
│ └─ Layout ML
│
├─ Cleaning & Normalization
│
├─ Slide → Report Structuring
│
├─ Table & Metric Processing
│
└─ Output
├─ Document
├─ JSON
└─ TOON
🔧 Core API
extract_pdf()
extract_pdf(
path: str,
enable_layout: bool = True,
enable_cloud_ocr: bool = False,
enable_vlm: bool = False,
enable_pii_masking: bool = False,
output_format: str = "document" # document | json | toon
)
📄 Example — Plain Text
from omnidoc.pdf.pipeline import extract_pdf
doc = extract_pdf("sample.pdf", enable_layout=True)
print(doc.raw_text)
📄 Example — JSON (RAG Ready)
from omnidoc.pdf.pipeline import extract_pdf
import json
result = extract_pdf(
"sample.pdf",
enable_layout=True,
enable_cloud_ocr=True,
output_format="json"
)
print(json.dumps(result, indent=2))
🤖 Example — TOON (Agent Output)
toon = extract_pdf(
"sample.pdf",
enable_layout=True,
output_format="toon"
)
print(toon)
🧪 Real Use Case — RAG Pipeline
doc = extract_pdf("strategy.pdf", output_format="json")
for chunk in doc["chunks"]:
vector_db.add(chunk["text"], metadata=chunk)
🔐 Enterprise Design
- Deterministic output
- No stdout hijacking
- No numeric loss
- Agent-safe serialization
- Optional PII masking
- Cloud OCR fallback
📜 License
© 2025 OmniDoc — Internal / Enterprise SDK
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
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 omnidoc_sdk-0.2.6.tar.gz.
File metadata
- Download URL: omnidoc_sdk-0.2.6.tar.gz
- Upload date:
- Size: 22.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
142362acd3c3b87b7d4c98ec61301d8dbf2ded910a3f94becaa271236ce7a992
|
|
| MD5 |
8ed00eef6951f3b86c2fb7c7326ea2a1
|
|
| BLAKE2b-256 |
882e0fb3fbe34302cf8b119117b56bfeaaf3ed4e0b75bc98209b42fd83fe2905
|
File details
Details for the file omnidoc_sdk-0.2.6-py3-none-any.whl.
File metadata
- Download URL: omnidoc_sdk-0.2.6-py3-none-any.whl
- Upload date:
- Size: 31.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6250a7ec421e03c54ad205f7dfa97ae0d475f63dbdf3501987e191a053466a8
|
|
| MD5 |
6571d8ac0dacfa5d64bc5bbe318b68fd
|
|
| BLAKE2b-256 |
95ca90ac5c637858b9d1c32925720ed07f425a7b95ed35f4c97b9f5889dc6d54
|