mcpField
P
paddleocr-doc-parsing

paddleocr-doc-parsing

github.com/paddlepaddleDocuments91.9k472 installsUpdated 6w ago
Repository

About paddleocr-doc-parsing

paddleocr-doc-parsing is a skill for analyzing complex documents with PaddleOCR, including tables, formulas, charts, and multi-column layouts. It accepts local files and URLs and produces structured output such as Markdown text and image links.

Key features

  1. 01Parses tables, formulas, and charts
  2. 02Analyzes multi-column layouts
  3. 03Accepts local files and URLs
  4. 04Outputs Markdown text and image links

Use cases

  1. 01Parse invoices and financial reports
  2. 02Extract structure from academic papers
  3. 03Analyze brochures and multi-column pages

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/paddlepaddle/paddleocr --skill paddleocr-doc-parsing

After installing, type/paddleocr-doc-parsingin Claude Code to confirm it loaded.

Details

From the project README

PaddleOCR Document Parsing

When to Use This Skill

Use this skill for:

  • Documents with tables (invoices, financial reports, spreadsheets)
  • Documents with mathematical formulas (academic papers, scientific documents)
  • Documents with charts and diagrams
  • Multi-column layouts (newspapers, magazines, brochures)
  • Complex document structures requiring layout analysis

Usage

Basic Document Parsing

From URL:

paddleocr api \
  --model_type doc_parsing \
  --file_url "https://example.com/report.pdf"

From local file:

paddleocr api \
  --model_type doc_parsing \
  --file_path "./document.pdf"
Common Options
# With specific model
paddleocr api \
  --model_type doc_parsing \
  --model PP-StructureV3 \
  --file_path "./report.pdf"

# Disable preprocessing (faster, for flat/well-oriented images)
paddleocr api \
  --model_type doc_parsing \
  --file_path "./document.pdf" \
  --use_doc_unwarping False \
  --use_doc_orientation_classify False

# With page ranges
paddleocr api \
  --model_type doc_parsing \
  --file_path "./large.pdf" \
  --page_ranges "1-5,10,15-20"

# Save result and resources
paddleocr api \
  --model_type doc_parsing \
  --file_url "https://..." \
  --output result.json \
  --save_resources ./resources

# Prettify markdown output
paddleocr api \
  --model_type doc_parsing \
  --file_path "./document.pdf" \
  --prettify_markdown True
Output Format
{
  "jobId": "job-xxx",
  "pages": [
    {
      "markdownText": "# Title\n\nContent...",
      "markdownImages": {
        "img1": "https://...",
        "img2": "https://..."
      },
      "outputImages": {
        "layout1": "https://..."
      }
    }
  ]
}

Important Notes

Preprocessing options: For flat, well-oriented images (screenshots, properly scanned documents), you can disable preprocessing for faster results:

paddleocr api --model_type doc_parsing --file_path "./document.pdf" --use_doc_unwarping False --use_doc_orientation_classify False

Keep preprocessing enabled when:

  • The input is a photo of a curved or folded document
  • The document has significant perspective distortion
  • Orientation is uncertain (rotated 90/180/270 degrees)

Display complete results: Always show the full extracted content to users. Do not truncate with "..." unless content exceeds 10,000 characters. When multiple pages are processed, summarize if needed but provide complete results when explicitly requested.

Handle errors gracefully: When the CLI returns an error, inform the user of the specific issue rather than silently failing. Common errors:

  • Authentication: PADDLEOCR_ACCESS_TOKEN invalid or missing
  • Quota: API rate limit exceeded
  • No content detected: Document may be blank or contain no extractable text

CLI Reference

Run paddleocr api --help for all options.

For full documentation, see: PaddleOCR Official Documentation

Comments

Markdown supported