我知道有很多问题有相同的标题,但我目前遇到一些问题,我没有得到正确的方法。
我正在使用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 :(得分:6)
Open XML的PowerTools刚刚发布了一个新的HtmlConverter模块。它现在包含一个开源的,免费实现从DOCX到HTML格式的转换。模块HtmlConverter.cs支持所有段落,字符和表格样式,字体和文本格式,编号和项目符号列表,图像等。见http://bit.ly/1bclyg9
答案 1 :(得分:1)
您可能希望找到一个外部工具来帮助您执行此操作,例如Aspose Words
答案 2 :(得分:0)
您的最终结果与Word文档的结果不完全相同,但this link可能有所帮助。
答案 3 :(得分:0)
您可以使用OpenXML Viewer扩展程序进行Firefox格式转换。 http://openxmlviewer.codeplex.com 这适合我。希望这会有所帮助。