Skip to main content

Plain OCR Processing

DocuDevs provides OCR-only processing for extracting plain text or markdown content from documents without structured data extraction. This feature is perfect when you only need the text content from documents like PDFs, images, or scanned documents.

Overview

The Plain OCR feature allows you to:

  • Extract text content in either plain text or markdown format
  • Choose between standard and premium OCR quality
  • Process documents without complex data structuring
  • Get faster results for simple text extraction needs

Quick Start with CLI

The simplest way to extract text from a document is using the DocuDevs CLI:

# Extract text as markdown (default)
docudevs ocr document.pdf

# Extract as plain text
docudevs ocr document.pdf --format plain

# Use premium OCR for better accuracy
docudevs ocr document.pdf --ocr premium

# Use auto quality selection (recommended)
docudevs ocr document.pdf --ocr auto

OCR Quality Options

DEFAULT Quality

  • Uses Azure Document Intelligence's standard OCR engine
  • Fast processing
  • Good for clear, well-formatted documents
  • No additional AI processing

PREMIUM Quality

  • Includes AI-powered error correction
  • Better accuracy for handwritten or poor-quality documents
  • Pagewise processing for optimal results
  • Additional processing time for enhanced accuracy
  • Automatically analyzes document quality and selects appropriate processing level
  • Starts with DEFAULT quality for speed
  • Automatically escalates to PREMIUM if quality issues are detected
  • Best balance of speed and accuracy
  • Ideal for mixed document types or when document quality is unknown

Output Formats

Markdown Format (Default)

  • Preserves document formatting
  • Maintains headers, lists, and text structure
  • Ideal for documents with rich formatting
  • Better readability and structure retention

Plain Text Format

  • Raw text extraction
  • No formatting preservation
  • Smaller output size
  • Best for simple text analysis

CLI Usage

Installation

First, install the DocuDevs CLI:

pip install docu-devs-api-client

Set your API key as an environment variable:

export DOCUDEVS_API_KEY="your_api_key"

Basic OCR Commands

# Extract text from a PDF (markdown format by default)
docudevs ocr document.pdf

# Extract as plain text
docudevs ocr document.pdf --format plain

# Use premium OCR for handwritten documents
docudevs ocr handwritten.pdf --ocr premium

# Process an image file
docudevs ocr receipt.jpg

# Use auto quality (recommended for mixed quality documents)
docudevs ocr scanned-doc.pdf --ocr auto

Advanced CLI Usage

# Process and save output to a file
docudevs ocr document.pdf > extracted_text.md

# Process multiple files
for file in *.pdf; do
docudevs ocr "$file" > "${file%.pdf}.txt" --format plain
done

# Use with specific API endpoint
docudevs --api-url https://api.docudevs.ai ocr document.pdf

# Override API key for this command
docudevs --token different_api_key ocr document.pdf

Checking Results

# If you need to check status manually (usually automatic)
docudevs status {guid}

# Get results manually
docudevs result {guid}

API Usage

Basic OCR Processing

  1. Upload your document:
curl -X POST "https://api.docudevs.ai/document/upload" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "document=@document.pdf"
  1. Process with OCR:
curl -X POST "https://api.docudevs.ai/document/ocr/{guid}?format=markdown" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"ocr": "DEFAULT"
}'
  1. Check status and get results:
# Check processing status
curl -X GET "https://api.docudevs.ai/job/status/{guid}" \
-H "Authorization: Bearer YOUR_API_KEY"

# Get the results when ready
curl -X GET "https://api.docudevs.ai/job/result/{guid}" \
-H "Authorization: Bearer YOUR_API_KEY"

One-Step Synchronous OCR

For simpler usage, use the synchronous endpoint:

curl -X POST "https://api.docudevs.ai/document/ocr/sync?format=markdown&ocr=auto" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "document=@document.pdf"

Python SDK Usage

Basic OCR Processing

from docudevs.docudevs_client import DocuDevsClient
from io import BytesIO

# Initialize client
client = DocuDevsClient(token="your_api_key")

# Upload and process document
with open("document.pdf", "rb") as f:
document = BytesIO(f.read())

# Submit for OCR processing
guid = await client.submit_and_ocr_document(
document=document,
document_mime_type="application/pdf",
ocr="DEFAULT",
ocr_format="markdown"
)

# Wait for results
result = await client.wait_until_ready(guid)

# OCR returns text content
print(result.result)