将html转换为MSWord

时间:2009-06-09 18:08:39

标签: c# html ms-word

我正在寻找将html转换为MSWord的示例代码。 C#代码赞赏。 Html输入是一个字符串,其内容是html文档,我想学习如何使用.Net Word(Office)SDK进行转换。

提前谢谢, 乔治

2 个答案:

答案 0 :(得分:4)

这很大程度上取决于您尝试转换的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);

请注意

  • 您必须添加对Microsoft.Office.Interop.Word或类似内容的引用
  • ref missing 参数的数量取决于您使用的Word版本
  • 当Word实例从System文件夹开始时,您必须在文件名中使用完整路径。

答案 1 :(得分:0)

请记住,MSIE(或者Word,就此而言 - AFAIK MS Office仍然使用它自己)渲染引擎并不像您希望的那样可靠,因此除了简单格式之外的任何内容在Word中都可能显得不同文档而不是浏览器。

Alsoplustoo,Word对DOC格式的解释可能与您的转换器不同--OO.o长期存在这个问题。