HTML转其他格式需工具链处理:Chrome命令行导出PDF最稳定;html2text适合提取纯文本但丢结构;pandoc转Markdown/DOCX更可控,需配合sed修复和参考文档;转换本质是权衡舍弃内容。

直接用浏览器打开 .html 文件本身就是在“渲染”它,不是转换;真要转成其他格式(比如 PDF、Markdown、纯文本),得靠工具链或代码处理,没有一键通用方案。
用 chrome 命令行导出 PDF 最稳定
本地 HTML 转 PDF,最靠谱的是调用已安装的 Chrome/Edge 浏览器,不依赖第三方库,排版还原度高。
- 确保系统 PATH 中有
chrome或chromium(macOS 可用google-chrome,Windows 常为"C:\Program Files\Google\Chrome\Application\chrome.exe") - 执行命令时必须加
--headless和--disable-gpu,否则会报错或卡住 - 输出路径需为绝对路径,相对路径在 headless 模式下容易失败
chrome --headless --disable-gpu --print-to-pdf="/tmp/output.pdf" file:///path/to/doc.html
html2text 提取纯文本易丢结构,但适合日志/摘要场景
如果你只需要文字内容(比如把网页新闻转成可搜索的 txt),html2text 是轻量选择,但它会忽略所有样式、表格对齐、图片 alt 文本以外的信息。
- Python 用户装
pip install html2text后,ignore_links=True可去掉 URL 干扰 - 默认把换行压缩成单空格,要用
body_width=0关闭自动折行 - 遇到 JS 渲染的内容(如 SPA 页面)完全无效,它只处理静态 HTML 字符串
import html2text
h = html2text.HTML2Text()
h.ignore_links = True
h.body_width = 0
with open("input.html") as f:
print(h.handle(f.read()))
转 Markdown 推荐 sed + pandoc 组合,别信在线转换器
很多在线工具把 立即学习“前端免费学习笔记(深入)”; 有人试过用 HTML 转换的本质是「舍弃什么」而不是「保留什么」——PDF 丢交互、Markdown 丢样式、DOCX 丢 JS 行为。选工具前先想清楚:你到底需要下游软件能做什么,而不是文件后缀看起来像什么。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 插入的多余换行pandoc 默认不识别,得加 --mathml 或改用 --webtex
别用 Python
BeautifulSoup 直接转 Word —— python-docx 不支持 HTML 解析BeautifulSoup 抓标签再塞进 Document().add_paragraph(),结果表格错位、样式全无、中文换行异常。根本问题是 python-docx 是生成 Word 的底层 API,不是 HTML 渲染引擎。
pandoc input.html -o output.docx,能映射 CSS 类到 Word 样式(需提前写好 reference.docx)tidy -asxhtml 修复烂结构,否则 Pandoc 会解析失败











