【问题标题】:How to convert HTML file to word? [closed]如何将 HTML 文件转换为 word? [关闭]
【发布时间】:2009-10-26 12:19:26
【问题描述】:

我需要将内存中的 HTML 文档保存为 Word .DOC 文件。

谁能给我一些封闭和开源库的链接,我可以用它们来做这件事吗?

另外,我应该编辑这个问题以添加我正在使用的语言,以缩小选择范围。

【问题讨论】:

  • 一切皆有可能。您想为此花多少钱?
  • 现在这是一个真正的问题。
  • @Mask:是的,请说明您使用的语言。
  • 如果你想让这个词看起来和浏览器中呈现的 html 完全一样,那会很困难,除非你解析 html 并使用 open office xml 等库将其写入 word 格式,否则你可能需要投资商业转换器选项。我一直在寻找一个 OSS 解决方案,后来放弃并使用 wkhtmltopdf 将 html 转换为 pdf,如果我需要编辑这个我可以做 nitropdf 或 foxit :)
  • @Mask 你可以试试Convert HTML to Well-Formatted Microsoft Word Document - 一个由微软员工编写的详细程序,他详细描述了他如何将自己的在线LINQ via C# Tutorial 转换为格式良好的MS Word 文档。

标签: html ms-word


【解决方案1】:

尝试使用pandoc

pandoc -f html -t docx -o output.docx input.html

如果没有明确指定输入或输出格式,pandoc 将尝试从输入和输出文件名的扩展名中猜测它。
— pandoc 手册

所以你甚至可以使用

pandoc -o output.docx input.html

【讨论】:

  • 这很好用。就像 sudo apt-get install -y pandoc 一样简单(在 Ubuntu 中)
  • 我同意这实际上是一个很好的解决方案,如果您比 MS Word 提供的更多 - 它还为您提供了在其他地方使用的通用工具(例如从 HTML 转换为 PDF , 等等。)。说对于一个非常基本的选项,d4nt 建议的建议也很有效:)
  • 这在我的情况下不起作用
  • 您能否更具体一点,@Beraliv。您是否从 pandoc 收到任何错误消息? Word 不能打开文档吗?
  • @Jan 好的,抱歉没有解释。我试图表达这种转换并不理想:我无法以正确的方式转换公式(我的意思是所有公式),样式变得比我预期的要差,并且某处的文本看起来很糟糕(偏移量、字体等) .是的,我需要很多。
【解决方案2】:

就在你的 php 页面的顶部。在此之前的任何代码都应该是顶级代码。

<?php
header("Content-Type: application/vnd.ms-word"); 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("content-disposition: attachment;filename=Hawala.doc");

?>

这会将所有的 html 转换为 MSWORD,现在您可以根据您的客户要求对其进行自定义。

【讨论】:

  • 如果你用php这个最好
  • 虽然不限于 PHP。 Word 很乐意在 doc 文件而不是 docx 文件中打开 HTML 内容。希望我在花时间尝试以各种方式实际转换它之前就知道这一点。
  • 请注意,CSS 支持是不确定的,您可能会或可能不会获得预期的“可编辑”结果。
【解决方案3】:

一个不错的选择是使用像 Docverter 这样的 API。 Docverter 将允许您使用 API 将 HTML 转换为 PDF 或 DOCX。

【讨论】:

  • 您忘记完成答案了吗?
  • 即使答案尚未完成,imo Docverter 仍然被证明是此页面中最有用的见解 :)
【解决方案4】:

这样做时,我发现最容易做到:

  1. 在网络浏览器中访问页面
  2. 使用带有 .htm 扩展名的网络浏览器保存页面(可能还有一个包含支持文件的文件夹)
  3. 启动Word并打开保存的htm文件(Word会正确打开)
  4. 根据需要进行任何修改
  5. 选择另存为,然后选择您想要的扩展名 doc、docx 等。

【讨论】:

  • 我认为这个答案比重命名更好,但这只是我:)
  • 如果您想要真正的转换,您可以尝试使用 HTML 到 DOCX API,如下所示:grabz.it/html-to-word-docx-api.aspx
【解决方案5】:

仅将文件重命名为 .doc 的其他替代方法.....

http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word(office.11).aspx

这是一个很好的起点。您也可以尝试使用此 Office Open XML。

http://www.ecma-international.org/publications/standards/Ecma-376.htm

【讨论】:

  • docx4j-ImportXHTML 采用这种方法。 Java 代码,也可用于 .NET 环境。
猜你喜欢
  • 2013-08-24
  • 2011-04-27
  • 2011-03-02
  • 2011-09-29
  • 2020-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-12
相关资源
最近更新 更多