【发布时间】:2009-12-10 17:09:39
【问题描述】:
我正在寻找将 html 转换为 MSWord 的示例代码。 C# 代码表示赞赏。 html输入为字符串,内容为html文档,我想学习如何使用.Net Word (Office) SDK进行转换。
提前致谢, 乔治
【问题讨论】:
-
这是similar question George,但链接与我之前对 HTML 编辑器问题的回答相同;-)
我正在寻找将 html 转换为 MSWord 的示例代码。 C# 代码表示赞赏。 html输入为字符串,内容为html文档,我想学习如何使用.Net Word (Office) SDK进行转换。
提前致谢, 乔治
【问题讨论】:
这在很大程度上取决于您尝试转换的 html 文档的性质。一种简单的方法是使用 Word 自动化打开 .html 文档,然后将其保存为 .doc 文档。
object readOnly = false;
object isVisible = true;
object missing = System.Reflection.Missing.Value; // Values we don't care about
object fileName = "C:/webpage.htm";
object newFileName = "C:/webpage.doc";
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
// word.Visible = true; // To see what's happening
Microsoft.Office.Interop.Word.Document document = word.Documents.Open(ref fileName, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
document.Activate();
object saveFormat = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatDocument;
document.SaveAs(ref newFileName, ref saveFormat, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
document.Close(ref missing, ref missing, ref missing);
注意
【讨论】:
请记住,MSIE(或 Word,就此而言 -- AFAIK MS Office 仍然使用它自己的)渲染引擎并不像您希望的那样可靠,因此除了简单格式之外的任何内容在 Word 中可能看起来都不同文档而不是在您的浏览器中。
另外,Word 对 DOC 格式的解释可能与您的转换器不同——OO.o 多年来一直存在这个问题。
【讨论】: