将HTML转换为DOCX
把HTML文件或粘贴的代码转成真正可以编辑的Word文档——真正的标题、编号列表、表格和图片,样式与网页在浏览器中的样子一致。
- 绝不存储
- 无需排队,无需等待
- 无需注册,无水印
使用方法
添加HTML
拖入.html文件,或把代码粘贴到输入框中。
设置页面
Word文档的页面大小、方向和边距。
转换并下载
可编辑的.docx文件,可在Word、Google Docs、Pages和LibreOffice中打开。
从固定定位的网页,到流式排版的文档
HTML给元素定位;Word文档则让它们流动。这是核心的区别,也是这里所有意外的根源。网页可以把侧栏固定在左边、把面板固定在右边,无论长短都待在原处;.docx则是一连串段落,彼此把对方往页面下方推。所以用CSS定位、flexbox分栏或网格搭建的布局,会按阅读顺序写成单栏的流式内容——不是因为无法测量布局,而是因为把方框固定在Word文档里,生成的东西谁都没法编辑,那转换也就失去了意义。
能干净对应的,是本来就像文档的所有内容。标题会成为Word标题样式——所以导航窗格能用,也能生成目录——段落、粗体和斜体、列表、引用块、带边框的表格以及超链接都有直接的对应项。图片会被嵌入,让文档自成一体。博客文章、普通文章或报告的转换效果几乎完美;落地页则不然。
转换时必须能访问到图片。指向您自己电脑的路径无法读取——浏览器中的页面无权访问您的文件系统——而网址也只有在对方服务器允许其他网站获取该文件时才行,很多服务器是有意不允许的。解决办法是把图片嵌入为Data URI,或者使用您确定可以公开获取的地址。任何无法加入的图片都会被报告出来,而不是悄无声息地缺失。
还有两处较小的缺失需要预料到。网页字体不会被嵌入,所以文字会使用Word现有的字体,外观会有变化;CSS背景图片也不会带过去,因为Word没有“段落背景图片”这样的概念。脚本绝不会运行,所以靠JavaScript生成内容的页面,转换出来的是其标记在脚本运行之前的内容。
如果您需要的是别的
Pandoc做这件事比任何基于渲染后标记工作的转换器都好:pandoc page.html -o page.docx --extract-media=.能把HTML结构规范地映射到Word样式上,提取出图片,还能接受一份参考文档,让输出与您自己的模板一致——标题、字体和间距全都符合您的内部规范,而不是Word的默认设置。正是最后这一点让它值得安装。
如果是在线网页而不是文件,请先把它保存下来——“网页另存为 → 网页,全部”——或者用curl获取后再转换结果,因为这里不会主动访问网络。如果您想要的是忠实还原网页外观的副本,而不是可编辑的文档,那么HTML转PDF才是合适的工具,因为PDF能把方框固定在原位,而Word文档不能。
常见问题
会保留我的CSS样式吗?
会。您的浏览器会先渲染页面,所以样式表、类和内联CSS中的样式都会被解析——字体、字号、颜色、对齐、间距、边框和背景都会以Word格式写入文档。
结果真的可以编辑吗?
可以。标题使用Word的标题样式(所以导航窗格和目录都能正常使用),列表是真正的编号和项目符号列表,表格是带合并单元格的真正Word表格——而不是固定在原位的文本框。
我的HTML会被存储吗?
不会。页面就在这里渲染、文档就在这里写入;不会发送到任何地方,也不存储任何内容。
图片会怎样处理?
嵌入的图片(Data URI)始终会包含在内。来自网络链接的图片在其服务器允许时会被包含;结果会告诉您有几张无法获取。SVG和WebP图片会被转换,以便Word能够显示。
会运行JavaScript吗?
不会,绝不会。页面只根据其标记和样式渲染,并且是在脚本无法运行的沙箱中进行。
链接还能用吗?
能。指向网站的链接保持可点击,指向同一页面某个部分的链接会变成指向该标题书签的内部链接。
小贴士: 用CSS定位、flexbox分栏或网格搭建的布局会被写成单栏的流式内容,因为可编辑的Word文档是流式排版的,而不是把方框固定在原位。背景图片和网页字体不会被嵌入;通过您自己电脑上的路径引用的图片无法读取——请把它们嵌入为Data URI,或使用完整的网址。
把这个工具放到您的网站上
博客、课程页面或帮助文章均可免费使用。粘贴一段代码,访客就能直接在您的页面上使用。