【问题标题】:convert html into MSWord将 html 转换为 MSWord
【发布时间】:2009-12-10 17:09:39
【问题描述】:

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

提前致谢, 乔治

【问题讨论】:

  • 这是similar question George,但链接与我之前对 HTML 编辑器问题的回答相同;-)

标签: c# html ms-word


【解决方案1】:

这在很大程度上取决于您尝试转换的 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 缺失 参数的数量取决于您使用的 Word 版本
  • 您必须在文件名中使用完整路径,因为 Word 实例从系统文件夹开始。

【讨论】:

    【解决方案2】:

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

    另外,Word 对 DOC 格式的解释可能与您的转换器不同——OO.o 多年来一直存在这个问题。

    【讨论】:

      猜你喜欢
      • 2013-04-01
      • 1970-01-01
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      • 2012-11-08
      • 2021-02-15
      • 2014-03-30
      • 2016-12-19
      相关资源
      最近更新 更多