数学PDF → Word 转换
适用场景
扫描版数学试卷/教辅 PDF(纯图片、无文字层),需要转成带可编辑公式和表格的 Word 文档。
依赖
| 工具 | 位置 | 用途 |
|------|------|------|
| MinerU 桌面版 | C:\Users\Administrator\Mineru | PDF→Markdown+图片 |
| Pandoc | C:\pandoc\pandoc-3.6.4\pandoc.exe | MD→DOCX(公式→OMML) |
| Python 3.10 | 系统Python | 表格转换、排版、去杂音 |
执行流程
1. 确认 MinerU 已处理 PDF
检查 C:\Users\Administrator\Mineru\ 下是否有对应的 UUID 目录,包含 full.md 和 images/。
2. 确认图片清理
询问用户是否已删除 images/ 中不需要的图片。如果没有,引导用户:
- 打开 MinerU 输出目录下的
images/文件夹 - 删除二维码广告、出版社logo等不需要的图片
- 删除后告诉我,我重新生成
3. 运行流水线
$env:PYTHONIOENCODING="utf-8"
C:\Users\Administrator\AppData\Local\Programs\Python\Python310\python.exe D:\zhipuworkplase\math_pdf_tools\pipeline.py -s "UUID后缀" -n "输出文件名"
流水线自动执行:
- 将 HTML
<table>转为 Markdown 管道表格(Pandoc 不认 HTML table) - Pandoc 生成 DOCX(公式 → OMML,表格 → Word 表格)
- 应用排版(A4、字体、边距、行距)
- 去除 MinerU 杂音(text_image、Geometric diagram 等描述文字)
4. 告知用户后续步骤
生成完成后告知:
- 文件在
D:\zhipuworkplase\output_docx\math_output\ - 可在 Word 中
引用→目录自动生成目录 - 合并单元格的表格需手动微调
关键注意事项
- Pandoc 不转换 HTML 表格:MinerU 输出的
<table>在 Pandoc --to=docx 时会被当作文本。必须先用脚本转为|...|管道表格。 - 图片路径:Pandoc 必须在 markdown 所在目录执行(
cwd=文档目录),否则图片引用找不到。 - MinerU 表格检测不完整:部分表格可能未被 MinerU 识别为表格,这类表格只能以图片形式保留。
- 合并单元格:colspan/rowspan 在 markdown 管道表格中无法表达,需手动调整。
排版参数
- 纸张: A4 (21×29.7cm),边距上下2.5cm/左右3.2cm
- 标题: 微软雅黑 14pt 加粗 #2E54A1
- 正文: 等线 10.5pt,行距1.5倍,首行缩进2字符
- 公式: Word 原生 OMML,双击可编辑
Scan to join WeChat group