公众号文章转 Word 文档
目标
把一篇微信公众号文章完整转换为排版整洁的 Word 文档。严格三步:先读取公众号文章 → 再提取正文纯文字(不要图)→ 最后保存排版整洁的 .docx。
工作流
第一步:读取公众号文章
按用户提供的素材形态二选一:
- 链接(mp.weixin.qq.com 等):优先
web_fetch抓取正文。若抓取失败 / 只返回标题和少量文字 / 返回登录墙(login_required、needs_browser_retry)—— - 改派
browseragent 打开链接,多屏滚动截图并 OCR,逐段提取全文文字。 - 图片型文章(正文以图片为主、文字全是图)尤其要走「滚动截图 + OCR」路线,不要因抓取受限就放弃。
- 本地文件:用
read_text读取文本类文件(.txt/.md/.html 等)自行解析;复杂格式(.pdf/.docx 等)交 file-agent 提取文字。
第二步:提取文章正文文字(不要图)
- 只保留正文段落文字,按文章原顺序排列。
- 剔除以下元素:所有图片、二维码、表情符号、点赞/在看/留言引导、公众号名片、广告插入、下拉/关注提示、首尾无关注释。
- 整理为 Markdown 中间稿(保留标题层级
#,加粗**,列表-),作为第三步脚本输入。
第三步:保存为排版整洁的 Word 文档
调用脚本生成 .docx:
python scripts/md_to_word.py --input "中间稿.md" --output "输出文档.docx"
脚本排版规范(已内置,无需手动调):
| 元素 | 字体/字号 | 对齐与间距 |
|---|---|---|
| 一级标题 | 黑体 22pt 加粗 | 居中,前后 12pt |
| 二级标题 | 黑体 16pt 加粗 | 左对齐,前后 10/6pt |
| 三级标题 | 黑体 14pt 加粗 | 左对齐 |
| 正文 | 宋体 12pt(小四) | 首行缩进 2 字符,1.5 倍行距,段后 6pt |
| 列表 | 宋体 12pt | 项目符号,1.5 倍行距 |
页面设置:A4,上下边距 2.54cm,左右 3.17cm。
输出位置:用户有指定则存指定路径;未指定默认存桌面 C:\Users\Administrator\Desktop。完成后用 yyb-product 卡片声明产出文件。
依赖
- 生成 Word 依赖
python-docx。若脚本报缺少模块,先执行pip install python-docx再重试。
注意事项
- 严格「不要图」:正文配图既不导出,也不截图塞进 Word。
- 公众号正文常受平台限制,抓取一次失败不要放弃,优先走 browser-agent 的滚动截图 + OCR 兜底。
- 输出文件务必真实落盘并用绝对路径呈现。