據 AlphaMoat 統計,截至 2026-09,Pdf Ocr Tool 累計下載 2,845 次、獲 1 個星標,在全部 5,078 個 AI 技能中排名第 3,835 位,在「辦公效率」分類(435 個)中排名第 285 位。
| 平台 | 累計安裝 | 累計下載 | 星標 | 評論 |
|---|---|---|---|---|
| ClawHub ↗ | 39 | 1415 | - | - |
| SkillHub ↗ | 447 | 2845 | 1 | — |
各平台的計數口徑不同,統計時間不一致。
支援文字、表格、圖形與混合模式,可逐頁處理或分割槽識別,並可儲存圖像區域。需 Ollama 模型、uv 及 PDF 轉圖工具;結果質量受輸入清晰度和提示詞影響,應核對識別內容。
資料釋出於 2026-10-27
以下是根據技能文件生成的示例,不代表實際執行結果。
2026-09 起統計方法調整:同名技能按作者分別統計,並覆蓋全部技能。圖中虛線為調整前的月份,與之後的資料不直接比較,也不計算跨越調整的增長。
| 月份 | 累計下載 | 環比 | 星標 |
|---|---|---|---|
| 2026-09 | 2845 | — | 1 |
| 2026-08 | 2198 | +9.5% | 1 |
| 2026-07 | 2008 | +15.1% | 1 |
| 2026-06 | 1744 | +13.4% | 1 |
| 2026-05 | 1538 | — | 1 |
| 2026-03 | 994 | — | - |
以下是作者釋出的原始檔案,按純文字顯示,本站未做修改或稽核;其中的連結不可點選,命令請核實後再執行。抓取於 2026-10-23。
---
name: pdf-ocr-tool
description: Intelligent PDF and image to Markdown converter using Ollama GLM-OCR with smart content detection (text/table/figure)
metadata: {"openclaw":{"emoji":"📄","requires":{"bins":["uv","ollama","pdftoppm"],"anyBins":[],"env":[],"config":[]},"install":[{"id":"uv-env","kind":"uv","path":".","bins":["ocr_tool.py"]}]}}
---
# PDF OCR Tool - Intelligent PDF to Markdown Converter
Uses the Ollama GLM-OCR model to intelligently recognize text, tables, and figures in PDF pages, applying the most appropriate prompts for OCR processing and outputting structured Markdown documents.
## Features
- ✅ **Smart Content Detection**: Automatically identifies page content type (text/table/figure)
- ✅ **Mixed Mode**: Splits pages into multiple regions for processing different content types
- ✅ **Multiple Processing Modes**: Supports text, table, figure, mixed, and auto modes
- ✅ **PDF Page-by-Page Processing**: Converts PDF to images and processes each page
- ✅ **Image OCR**: Supports OCR for single images
- ✅ **Custom Prompts**: Adjustable OCR prompts based on requirements
- ✅ **Flexible Configuration**: Customizable Ollama host, port, and model
- ✅ **uv Package Management**: Uses uv for Python dependency management
## Installation
### 1. Prerequisites
```bash
# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
ollama pull glm-ocr:q8_0
# Install poppler-utils (for PDF to image conversion)
sudo apt install poppler-utils # Debian/Ubuntu
brew install poppler # macOS
# Install uv package manager
curl -LsSf https://astral.sh/uv/install.sh | sh
```
### 2. Install with uv (Recommended)
```bash
cd skills/pdf-ocr-tool
uv venv
source .venv/bin/activate
uv add requests Pillow
```
### 3. Install via ClawHub
```bash
npx clawhub install pdf-ocr-tool
```
### 4. Manual Installation
```bash
# Clone or download skill
git clone <repo> ~/.openclaw/workspace/skills/pdf-ocr-tool
# Create virtual environment and install dependencies
cd ~/.openclaw/workspace/skills/pdf-ocr-tool
uv venv
source .venv/bin/activate
uv add requests Pillow
# Run post-install script
bash hooks/post-install.sh
```
## Usage
### Basic Usage
```bash
# Auto-detect content type (recommended)
python ocr_tool.py --input document.pdf --output result.md
# Specify processing mode
python ocr_tool.py --input document.pdf --output result.md --mode text
python ocr_tool.py --input document.pdf --output result.md --mode table
python ocr_tool.py --input document.pdf --output result.md --mode figure
# Mixed mode: split page into regions
python ocr_tool.py --input document.pdf --output result.md --granularity region
# Process a single image
python ocr_tool.py --input image.png --output result.md --mode mixed
```
### Advanced Configuration
```bash
# Specify Ollama host and port
python ocr_tool.py --input document.pdf --output result.md \
--host localhost --port 11434
# Use different model
python ocr_tool.py --input document.pdf --output result.md \
--model glm-ocr:q8_0
# Custom prompt
python ocr_tool.py --input image.png --output result.md \
--prompt "Convert this table to Markdown format, keeping rows and columns aligned"
# Save figure region images
python ocr_tool.py --input document.pdf --output result.md --save-images
```
### Environment Configuration
```bash
# Set default configuration
export OLLAMA_HOST="localhost"
export OLLAMA_PORT="11434"
export OCR_MODEL="glm-ocr:q8_0"
# Run
python ocr_tool.py --input document.pdf --output result.md
```
## Processing Modes
| Mode | Description | Use Case |
|------|-------------|----------|
| `auto` | Auto-detect content type | General use (default) |
| `text` | Pure text recognition | Academic papers, articles, reports |
| `table` | Table recognition | Data tables, financial reports |
| `figure` | Chart/figure recognition | Statistical charts, flowcharts, diagrams |
| `mixed` | Mixed mode | Pages with multiple content types |
### Mixed Mode (Granularity)
When using `--granularity region`:
- Page is split vertically into multiple regions (default: 3)
- Each region is independently analyzed for content type
- Corresponding prompts are used for OCR
- Final results are combined into complete Markdown
## Output Format
### PDF Output Example
```markdown
# PDF to Markdown Result
**Total Pages**: 15
**Model**: glm-ocr:q8_0
**Mode**: auto
**Generated**: 2026-02-27T01:00:00+08:00
---
## Page 1
*Type: mixed*
### Region 1 (text)
[OCR recognized text content]
### Region 2 (table)
<table>
<tr><th>Column 1</th><th>Column 2</th></tr>
<tr><td>Data 1</td><td>Data 2</td></tr>
</table>
### Region 3 (figure)
[Chart description]

---
```
### Image Output Example
```markdown
# image.png OCR Result
Model: glm-ocr:q8_0
Mode: table
---
[OCR recognized result]
```
## Prompt Templates
The tool includes four built-in prompt templates in the `prompts/` directory:
### Text Mode (`prompts/text.md`)
```
Convert the text in this region to Markdown format.
- Preserve paragraph structure and heading levels
- Handle lists correctly
- Preserve mathematical formulas
- Maintain citations and references
```
### Table Mode (`prompts/table.md`)
```
Convert the table in this region to Markdown table format.
- Maintain row and column alignment
- Preserve all data and values
- Handle merged cells
- Preserve headers and units
```
### Figure Mode (`prompts/figure.md`)
```
Analyze the chart or image in this region:
1. Chart type (bar, line, pie, flowchart, etc.)
2. Titles and axis labels
3. Data trends and key observations
4. Important values and anomalies
Describe in Markdown format.
```
## Using in OpenClaw
```python
import subprocess
from pathlib import Path
# Process PDF (auto mode)
subprocess.run([
"python", "skills/pdf-ocr-tool/ocr_tool.py",
"--input", "/path/to/document.pdf",
"--output", "/tmp/result.md",
"--mode", "auto"
])
# Read result
with open("/tmp/result.md", "r") as f:
markdown_content = f.read()
# Process single image (table mode)
subprocess.run([
"python", "skills/pdf-ocr-tool/ocr_tool.py",
"--input", "/path/to/table.png",
"--output", "/tmp/table.md",
"--mode", "table"
])
# Mixed mode for complex PDF
subprocess.run([
"python", "skills/pdf-ocr-tool/ocr_tool.py",
"--input", "/path/to/mixed.pdf",
"--output", "/tmp/mixed.md",
"--granularity", "region", # Split into regions
"--save-images" # Save figure images
])
```
## Troubleshooting
### Model Not Installed
```bash
ollama pull glm-ocr:q8_0
```
### Service Not Running
```bash
ollama serve
```
### Missing pdftoppm
```bash
sudo apt install poppler-utils # Debian/Ubuntu
brew install poppler # macOS
```
### Poor OCR Results
- Try different modes: `--mode text` or `--mode mixed`
- Use custom prompts: `--prompt "your prompt here"`
- Check image quality (resolution, clarity)
- Try mixed mode: `--granularity region`
### Dependency Issues
```bash
cd skills/pdf-ocr-tool
source .venv/bin/activate
uv sync # Reinstall all dependencies
```
## Related Resources
- [Ollama API Documentation](https://docs.ollama.com/api/generate)
- [GLM-OCR Model Page](https://ollama.com/library/glm-ocr)
- [poppler-utils](https://poppler.freedesktop.org/)
- [uv Package Manager](https://github.com/astral-sh/uv)
## Version History
- **v1.2.0** - English prompts, install-deps.sh, fixed .gitignore
- **v1.1.0** - Added mixed mode, region splitting, pyproject.toml
- **v1.0.0** - Initial version with basic OCR functionality
## Credits
This tool is developed and maintained by the OpenClaw community.
## License
MIT License
透過 MCP 在騰訊文件裡新建、編輯與管理線上文件的完整操作手冊。
在保留公式、格式和活頁簿結構的前提下建立、檢查或編輯 Excel 檔案。
處理 Word 與 DOCX 文件的作業指南,著重維持樣式、編號與版面。
透過命令列存取 Gmail、日曆、Drive、Contacts、Sheets 與 Docs。
PDF和圖片文字提取 將文件文字、表格與掃描頁識別整理為文字結果。
按主題與風格自動生成 PPT 檔案的技能。
透過 kdocs-cli 操作金山文件雲文件的官方技能。
用自然語言指令改 PDF 指定頁的小工具。
資料月份:2026-09 · 下載/星標/安裝數聚合自公開技能註冊庫(ClawHub、SkillHub),按月更新。口徑說明見資料方法。