Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

paddleocr-doc-parsing — Claude Code skill: setup and features

Extracts structured Markdown and JSON from PDFs and document scans. It captures cell-level tables, LaTeX formulas, diagrams, and preserves the reading order.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add PaddlePaddle/PaddleOCR --skill paddleocr-doc-parsing -a claude-code
Open on GitHub

What paddleocr-doc-parsing does

The skill sends PDF files and document images to the PaddleOCR command-line interface. It outputs structured Markdown or JSON. The tool extracts tables and LaTeX formulas while preserving the reading order.

Running this skill requires the paddleocr binary and the PADDLEOCR_ACCESS_TOKEN environment variable. Without a valid token, the service returns an authentication error. The CLI tool is installed via uv. Preprocessing options like unwarping can be disabled with command flags for flat scans.

API calls are subject to rate limits, so frequent requests will stop the process. Parsing documents with charts requires network access to the API service.

What it helps with

  • Extract financial tables into cell-level Markdown
  • Convert math formulas from scientific papers into LaTeX
  • Parse multi-column document layouts without breaking reading order
  • Transform scanned invoices and diagrams into structured JSON

Example prompts for the agent

  • Parse ./document.pdf with paddleocr and convert it into Markdown
  • Extract tables and LaTeX formulas from the remote report URL

How to install paddleocr-doc-parsing

1Skills CLI (Vercel)

npx skills add PaddlePaddle/PaddleOCR --skill paddleocr-doc-parsing -a claude-code

2Manually: put the files in place

~/.claude/skills/paddleocr-doc-parsing/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/paddleocr-doc-parsing/

Similar

retrieving-developer-knowledge official Google LLC Searches and summarizes official Google developer docs for Cloud, Gemini, Android, Firebase, and more. Useful for API, IAM, and gcloud questions. Claude Code Gemini CLI CX Codex 4,100installs signature-request official anthropics Prepares documents for electronic signature, runs a pre-signing checklist, and configures signer routing. Useful when finalized contracts are ready for execution. Claude Code CX Codex Cursor +1 2,700installs digest official anthropics Builds a daily or weekly digest from connected sources, covering mentions, action items, decisions, and document changes. Useful when you need to catch up on project activity. Claude Code CX Codex Cursor +1 2,700installs cmux-localization manaflow-ai A skill for managing translations of user-facing strings in your interface. Runs an audit whenever you change button text, menus, tooltips, or error messages. Claude Code CX Codex Cursor +1 4,700installs docx nexu-io Create, edit, and analyze Word documents with tracked changes, comments, and formatting. Use it for design briefs, copy docs, and materials ready for review. Claude Code CX Codex Cursor +1 3,000installs copywriting nexu-io Writes and rewrites marketing copy for landing pages, homepages, and advertisements. Acts as a copy chief partner during product launches. Claude Code CX Codex Cursor +1 3,000installs grill-with-docs Matt Pocock This skill interviews you about a plan or design and creates ADRs and a glossary along the way. Use it when decisions need sharper definition. Claude Code 1,219,756installs skill-creator official anthropics Creates and refines skills, then tests them with prompts, evaluations, and performance checks. Claude Code Claude.ai 414,180installs

Questions about paddleocr-doc-parsing

How do I install paddleocr-doc-parsing in Claude Code?

Run npx skills add PaddlePaddle/PaddleOCR --skill paddleocr-doc-parsing -a claude-code in your terminal. You also need the paddleocr binary installed and the PADDLEOCR_ACCESS_TOKEN environment variable configured.

What does the paddleocr-doc-parsing skill do?

It runs document layout parsing via the PaddleOCR API. The skill extracts tables with cell precision, LaTeX formulas, figures, and text in the correct reading order.

When can document preprocessing be disabled?

Disable unwarping and orientation classification for flat scans or clean screenshots to speed up parsing. Keep them enabled for photos of folded pages or rotated documents.

Source text

SKILL.md · Apache-2.0
---
name: paddleocr-doc-parsing
description: >-
  Use this skill to extract structured Markdown/JSON from PDFs and document images—tables with
  cell-level precision, formulas as LaTeX, figures, seals, charts, headers/footers, multi-column
  layout and correct reading order.
  Trigger terms: 文档解析, 版面分析, 版面还原, 表格提取, 公式识别, 多栏排版, 扫描件结构化,
  发票, 财报, 复杂 PDF, PDF转Markdown, 图表, 阅读顺序; reading order, formula, LaTeX,
  layout parsing, structure extraction, PP-StructureV3, PaddleOCR-VL.
license: Apache-2.0
metadata:
  openclaw:
    requires:
      env:
        - PADDLEOCR_ACCESS_TOKEN
      bins:
        - paddleocr
    primaryEnv: PADDLEOCR_ACCESS_TOKEN
    emoji: "📄"
    install:
      - kind: uv
        package: paddleocr
        bins: [paddleocr]
---

# 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:

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

From local file:

```bash
paddleocr api \
  --model_type doc_parsing \
  --file_path "./document.pdf"
```

### Common Options

```bash
# 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

```json
{
  "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:

```bash
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](https://www.paddleocr.ai/latest/en/version3.x/inference_deployment/serving/paddleocr_official_api/cli.html)

© PaddlePaddle · Apache-2.0 · PaddlePaddle/PaddleOCR

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor