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.
npx skills add PaddlePaddle/PaddleOCR --skill paddleocr-doc-parsing -a claude-codeWhat 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-code2Manually: put the files in place
~/.claude/skills/paddleocr-doc-parsing/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/paddleocr-doc-parsing/
1Skills CLI (Vercel)
npx skills add PaddlePaddle/PaddleOCR --skill paddleocr-doc-parsing -a codex2Manually: put the files in place
.agents/skills/paddleocr-doc-parsing/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add PaddlePaddle/PaddleOCR --skill paddleocr-doc-parsing -a cursor2Manually: put the files in place
.cursor/skills/paddleocr-doc-parsing/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install PaddlePaddle/PaddleOCR paddleocr-doc-parsing2Manually: put the files in place
.github/skills/paddleocr-doc-parsing/SKILL.md1Skills CLI (Vercel)
npx skills add PaddlePaddle/PaddleOCR --skill paddleocr-doc-parsing -a gemini-cli2Platform CLI
gemini skills install https://github.com/PaddlePaddle/PaddleOCR --path skills/paddleocr-doc-parsingManually: put the files in place
.devin/skills/paddleocr-doc-parsing/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add PaddlePaddle/PaddleOCR --skill paddleocr-doc-parsing -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Similar
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