从Word文档转换为HTML

Pan*_*kaj 13 html c# ms-word

我想使用Word Viewer将Word文档保存为HTML,而不在我的计算机中安装Word.有没有办法在C#中实现这一目标?

小智 19

要将.docx文件转换为HTML格式,可以使用OpenXmlPowerTools.确保添加对OpenXmlPowerTools.dll的引用.

using OpenXmlPowerTools;
using DocumentFormat.OpenXml.Wordprocessing;

byte[] byteArray = File.ReadAllBytes(DocxFilePath);
using (MemoryStream memoryStream = new MemoryStream())
{
     memoryStream.Write(byteArray, 0, byteArray.Length);
     using (WordprocessingDocument doc = WordprocessingDocument.Open(memoryStream, true))
     {
          HtmlConverterSettings settings = new HtmlConverterSettings()
          {
               PageTitle = "My Page Title"
          };
          XElement html = HtmlConverter.ConvertToHtml(doc, settings);

          File.WriteAllText(HTMLFilePath, html.ToStringNewLineOnAttributes());
     }
}
Run Code Online (Sandbox Code Playgroud)

  • PowerTools for Open XML刚刚发布了一个新的HtmlConverter模块,它包含一个开源的,免费实现从DOCX到HTML格式的转换.模块HtmlConverter.cs支持所有段落,字符和表格样式,字体和文本格式,编号和项目符号列表,图像等.见http://bit.ly/1bclyg9 (3认同)

Bim*_*zee 5

你可以试试Microsoft.Office.Interop.Word;

   using Word = Microsoft.Office.Interop.Word;

    public static void ConvertDocToHtml(object Sourcepath, object TargetPath)
    {

        Word._Application newApp = new Word.Application();
        Word.Documents d = newApp.Documents;
        object Unknown = Type.Missing;
        Word.Document od = d.Open(ref Sourcepath, ref Unknown,
                                 ref Unknown, ref Unknown, ref Unknown,
                                 ref Unknown, ref Unknown, ref Unknown,
                                 ref Unknown, ref Unknown, ref Unknown,
                                 ref Unknown, ref Unknown, ref Unknown, ref Unknown);
        object format = Word.WdSaveFormat.wdFormatHTML;



        newApp.ActiveDocument.SaveAs(ref TargetPath, ref format,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown, ref Unknown,
                    ref Unknown, ref Unknown);

        newApp.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges);


    }
Run Code Online (Sandbox Code Playgroud)


Tim*_*ren -2

我相信您需要安装 MS Word 才能执行此操作。

查看这篇文章以了解有关实施的详细信息。