2013-12-23 88 views
4

我知道有很多问题有相同的标题,但我目前有一些问题,他们我没有得到正确的方式去。如何将docx转换为html格式的文件使用打开xml格式

我使用Open XML SDK 2.5与Power tool一起.docx文件转换为.html文件,它使用HtmlConverter类转换。

我成功地将docx文件转换为Html文件,但问题是,html文件不保留文档文件的原始格式。例如。 字体大小,颜色,下划线,粗体等不反映到html文件中。

这里是我现有的代码:

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()); 
     } 
    } 
} 

所以,我只是想知道有没有办法让我可以保留转换后的HTML文件格式。

我知道一些第三方API可以做同样的事情。但我宁愿如果有任何使用open xml或任何其他开源来做到这一点。

+0

PowerTools for Open XML刚刚发布了一个新的HtmlConverter模块,其中包含一个开放源代码,免费实现从DOCX到HTML格式的CSS转换。模块HtmlConverter.cs支持所有段落,字符和表格样式,字体和文本格式,编号和项目符号列表,图像等。请参阅http://bit.ly/1bclyg9 –

回答

0

您的最终结果不会像您的Word文档结果一样,但this link可能会有所帮助。

+0

这不会转换格式,如段落字体或字符字体。 – Sachin

1

您可能希望找到一个外部工具来帮助你做到这一点,像Aspose Words

6

PowerTools的开放XML刚刚发布了一个新的HtmlConverter模块。它现在包含一个开放源代码,免费实现从DOCX到HTML格式的CSS转换。模块HtmlConverter.cs支持所有段落,字符和表格样式,字体和文本格式,编号和项目符号列表,图像等。请参阅http://bit.ly/1bclyg9

相关问题