Metadata-Version: 2.4
Name: pdf-wzq
Version: 1.0.1
Summary: PDF 多模态教学知识库自动化构建：页级文本/图片/公式提取 → 图片AI解读 → 教材文案 → 图文绑定（四型自动适配：文本层/纯图/PPT转PDF/混合）
Author-email: 吴振谦 <wuzhenqian@nbu.edu.cn>
License: MIT
Keywords: pdf,education,knowledge-base,multimodal,latex,ocr
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: PyMuPDF>=1.23
Requires-Dist: pdfplumber>=0.10
Requires-Dist: openai>=1.0
Requires-Dist: Pillow>=9.0
Provides-Extra: ocr
Requires-Dist: paddleocr>=2.7; extra == "ocr"
Provides-Extra: api
Requires-Dist: pikepdf>=8.0; extra == "api"

# pdf-wzq · PDF 多模态教学知识库自动化构建

把 PDF（讲义/扫描教材/PPTX 转换件）自动转化为**图文并茂的多模态教学知识库**：
页级文本 + 公式 LaTeX + 图片集 + 图片 AI 理解 + 教材文案 + 图文绑定 JSON。
与 [pptx-wzq](https://pypi.org/project/pptx-wzq/)、word-wzq 同构——指令、流程、产物协议完全一致。

## 四型自动适配（PageExtractor）

| 类型 | 判定 | 处理 |
|---|---|---|
| A 文本层 PDF | 前 3 页 get_text > 200 字符 | 文本层提取（坐标排序+页眉页脚剔除） |
| B 纯图/扫描 PDF | 全部无文本层 | 渲染 300DPI + OCR/整页视觉理解 |
| C PPTX 转 PDF | 有文本层 + 整页大图占比高 | 文本层+视觉双路融合（needs_review） |
| D 混合型 | 文本页+图像页并存 | 逐页分流合并 |

## 安装

```bash
pip install pdf-wzq
pip install "pdf-wzq[ocr]"    # 扫描件中文 OCR（PaddleOCR，可选）
```

> **许可证**：核心依赖 PyMuPDF 为 AGPL-3.0，与主许可 MIT 叠加请在商用/闭源前自行评估（备选 pypdfium2 Apache）。

## 快速开始

```bash
# 一条命令完整流水线（自动装依赖 / 引导 Key / 预估 Token / 确认）
pdf-paser 半导体器件讲义.pdf -o 讲义输出

# 结果目录：images/ + <名>_captions.md + <名>_textbook.md + <名>_binding.json

# 分步执行
pdf-text 讲义.pdf -o out --ocr-engine paddle     # 纯图页 OCR
pdf-formula 讲义.pdf -o out
pdf-img 讲义.pdf -o out
pdf-caption out/images -o cap.md --texts out/texts.md --formulas out/formulas.md
pdf-author --texts out/texts.md --formulas out/formulas.md --captions cap.md -o textbook.md
pdf-bind out -o binding.json --textbook textbook.md --images-dir out/images
```

## 指令一览

| 命令 | 功能 | 模型 | Token |
|---|---|---|---|
| `pdf-text` | 页级文本（坐标排序+页眉页脚+OCR 降级） | — | 0 |
| `pdf-formula` | 公式区域定位+视觉/OCR 识别→LaTeX | qwen3.7-plus/pix2tex | 有/0 |
| `pdf-img` | 页级图片提取+过滤+区域渲染 | — | 0 |
| `pdf-caption` | 图片 AI 解读（文档上下文模式） | qwen3.7-plus | 有 |
| `pdf-author` | 教材文案（学科推断+分批） | deepseek-v4-flash | 有 |
| `pdf-bind` | 页级图文绑定 JSON | — | 0 |
| `pdf-paser` | 整体编排（四型适配+Token 预估） | — | — |

## 作者

吴振谦 · wuzhenqian@nbu.edu.cn · QQ：38328063
