在.Net中将Html转换为Word

时间:2011-07-06 10:23:20

标签: c# html asp.net .net ms-word

我需要从HTML内容(在ASP.NET服务器应用程序上)创建一个word文件,但找不到一种强有力的方法。所以决定在这里进行讨论,看看有什么可能的选择。

Aspose有一个.NET component,但价格太高,所以无法解决(由于预算问题)。

我们希望这种转换能够保留表格,图像,隐藏不可见元素,链接等。

有类似的讨论here,但提供的解决方案都围绕Office Interop,这不是服务器应用程序的推荐解决方案。

有什么想法吗?基本上Aspose这样的组件是如何工作的?

4 个答案:

答案 0 :(得分:9)

是否已经完成了艰苦的工作?似乎有一个关于codeplex的项目。

Blog post describing HTML to docx converter
Project on codeplex

答案 1 :(得分:3)

我建议使用OpenXml API编写代码,您可以导航DOM并以编程方式将元素添加到word文档中。由于您正在解释标记并尝试转换它,因此它不是一项简单的任务。

Open XML的链接:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=5124

答案 2 :(得分:1)

可能值得查看Microsoft自己的XSLT推理工具,该工具可以从XML输入生成WordML。

如果您对文档本身的源代码是HTML / XHTML / XML很灵活,那么这很容易就能完成工作。

http://msdn.microsoft.com/en-us/library/aa212886%28v=office.11%29.aspx

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=3412

我过去曾用它来从ASP .NET应用程序中生成Word文档,该应用程序从SQL存储过程中获取源XML数据。

这个工具可能有点气质,但是它产生的XSLT有点卫生,它可以正常工作。

答案 3 :(得分:0)

如果docx适用,您可以创建word文档,将其另存为docx,对xml进行反向工程并创建自己的xml / docx。我用excel / xslx做到了,它完美无缺。为了加快速度,我们创建了XML作为文本并加入了字符串(在我们的数据之前 - 我们的数据 - 在我们的数据之后)。

RTF格式不是标准的afaik,但它广泛传播。创建RTF文档并将其作为word文档返回。 Word打开rtf没有问题。

创建一个HTML文档并将其作为word文档返回。

HTH