PDF 上传 → 远程 OCR 识别 → 格式化 DOCX 输出。
uv sync
uv run uvicorn app:app --reload --host 0.0.0.0 --port 8000打开浏览器访问 http://localhost:8000。
| 变量 | 默认值 | 说明 |
|---|---|---|
WINDOWS_URL |
http://192.168.10.165:8000 |
Windows OCR 服务地址 |
ROS_AI_LLM_API_KEY |
— | DeepSeek API Key(翻译用,可选) |
OPENAI_BASE_URL |
https://api.deepseek.com |
LLM API 地址 |
OPENAI_MODEL |
deepseek-chat |
翻译模型 |
不设置 API Key 时跳过翻译,仅输出英文原文。
- 上传 PDF — 拖拽或点击上传区域,支持
.pdf及图片格式 - 等待处理 — 文件进入队列,逐个发送到 Windows OCR 服务。状态实时更新(SSE 推送,无需刷新页面)
- 下载结果 — 处理完成后点击「下载」按钮,得到一个
.zip文件,包含:文件名.json— OCR 识别原始结果文件名.docx— 格式化后的 Word 文档imgs/— 提取的图片
- 同一时间只处理一个文件(Windows 端算力受限)
- 后台 worker 轮询:发现
queued任务提交到 Windows,发现processing任务查询结果 - 结果自动缓存,页面刷新不会丢失状态
- SQLite 数据库(
tasks.db)持久化所有任务
| 阶段 | 工具 | 说明 |
|---|---|---|
| 生成 | docx_gen.py |
从 OCR 的 markdown 构建 DOCX,含表格/图片 |
| 翻译 | translate.py |
段落级中英对照翻译,保留标题层级 |
| 格式化 | wordformat | ONNX 模型识别结构 + auto_format_thesis_document 统一排版 |
格式规则在 config.yaml 中配置(字体、字号、行距、缩进等)。