我知道有很多问题具有相同的标题,但我目前对他们有一些问题,我没有找到正确的方法。
我正在使用 Open xml sdk 2.5 和 Power 工具 将 .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。但我更愿意使用开放 xml 或任何其他开源来做到这一点。
原文由 Sachin 发布,翻译遵循 CC BY-SA 4.0 许可协议
PowerTools for Open XML 刚刚发布了一个新的 HtmlConverter 模块。它现在包含一个开源的、免费的实现从 DOCX 到使用 CSS 格式化的 HTML 的转换。 HtmlConverter.cs 模块支持所有段落、字符和表格样式、字体和文本格式、编号和项目符号列表、图像等。请参阅 https://openxmldeveloper.org/