Skip to main content

Enterprise-grade SDK for document ingestion, OCR, semantic chunking, and RAG-ready processing

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

omnidoc_sdk-0.3.9.tar.gz (29.2 kB view details)

Uploaded Source

Built Distribution

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

omnidoc_sdk-0.3.9-py3-none-any.whl (45.1 kB view details)

Uploaded Python 3

File details

Details for the file omnidoc_sdk-0.3.9.tar.gz.

File metadata

  • Download URL: omnidoc_sdk-0.3.9.tar.gz
  • Upload date:
  • Size: 29.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for omnidoc_sdk-0.3.9.tar.gz
Algorithm Hash digest
SHA256 2ac76e5100e6848b74a6e3451f0470dfdfc4da2874ca2d099c00fff780368766
MD5 e7c877d1b161f234266879f5ee8d6057
BLAKE2b-256 ff85d7ef8cfab058c245212e7afc23e6bcc0e4ff9203b54c795f32c8c1bd66a5

See more details on using hashes here.

File details

Details for the file omnidoc_sdk-0.3.9-py3-none-any.whl.

File metadata

  • Download URL: omnidoc_sdk-0.3.9-py3-none-any.whl
  • Upload date:
  • Size: 45.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for omnidoc_sdk-0.3.9-py3-none-any.whl
Algorithm Hash digest
SHA256 61a64045c9c50e9c73ecf68c97e08871108816887f7b80ca4c255396c0443b06
MD5 2467531998717ebb5e3d95b8099f8e76
BLAKE2b-256 039fcbe5b3f89b2cd73db9057f29f70c41cd6bef0a7dfff8879a4bd8f8fa9ae1

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