pandoc 做主干转换,再用 sed 修常见坑。
pandoc input.html -o output.md会保留标题层级、链接、基础列表,但可能把当段落、把内联style="color:red"全删光- 用
sed -i 's/\\n//g'(Linux/macOS)或gsed(macOS 需brew install gnu-sed)清理 Pandoc 插入的多余换行 - 如果原 HTML 有 MathJax 公式,
pandoc默认不识别,得加--mathml或改用--webtex
别用 Python BeautifulSoup 直接转 Word —— python-docx 不支持 HTML 解析
有人试过用 BeautifulSoup 抓标签再塞进 Document().add_paragraph(),结果表格错位、样式全无、中文换行异常。根本问题是 python-docx 是生成 Word 的底层 API,不是 HTML 渲染引擎。
- 真要导出 .docx,推荐走 Pandoc:它支持
pandoc input.html -o output.docx,能映射 CSS 类到 Word 样式(需提前写好 reference.docx) - 若 HTML 来自 CMS(如 WordPress 导出的 HTML),先用
tidy -asxhtml修复烂结构,否则 Pandoc 会解析失败 - 注意字体:Pandoc 生成的 docx 默认用 Liberation Serif,中文字体要手动在 Word 里替换,没自动 fallback
HTML 转换的本质是「舍弃什么」而不是「保留什么」——PDF 丢交互、Markdown 丢样式、DOCX 丢 JS 行为。选工具前先想清楚:你到底需要下游软件能做什么,而不是文件后缀看起来像什么。
理论要掌握,实操不能落!以上关于《HTML文件转换技巧与教程详解》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!
