How to convert docx to html file using open xml with formatting

无人久伴 提交于 2019-12-18 02:57:11

问题


I know there are lot of question having same title but I am currently having some issue for them I didn't get the correct way to go.

I am using Open xml sdk 2.5 along with Power tool to convert .docx file to .html file which uses HtmlConverter class for conversion.

I am successfully able to convert the docx file into the Html file but the problem is, html file doesn't retain the original formatting of the document file. eg. Font-size,color,underline,bold etc doesn't reflect into the html file.

Here is my existing code:

public void ConvertDocxToHtml(string fileName)
{
   byte[] byteArray = File.ReadAllBytes(fileName);
   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(@"E:\Test.html", html.ToStringNewLineOnAttributes());
      }
    }
 }

So I just want to know if is there any way by which I can retain the formatting in converted HTML file.

I know about some third party APIs which does the same thing. But I would prefer if there any way using open xml or any other open source to do this.


回答1:


PowerTools for Open XML just released a new HtmlConverter module. It now contains an open source, free implementation of a conversion from DOCX to HTML formatted with CSS. The module HtmlConverter.cs supports all paragraph, character, and table styles, fonts and text formatting, numbered and bulleted lists, images, and more. See http://bit.ly/1bclyg9




回答2:


Your end result will not look exactly the way your Word Document turns out, but this link might help.




回答3:


You can use OpenXML Viewer extension for Firefox for Converting with formatting. http://openxmlviewer.codeplex.com This works for me. Hope this helps.




回答4:


You might want to find an external tool to help you do this, like Aspose Words



来源:https://stackoverflow.com/questions/20750192/how-to-convert-docx-to-html-file-using-open-xml-with-formatting

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!