如何使用带有格式的打开 xml 将 docx 转换为 html 文件

新手上路,请多包涵

我知道有很多问题具有相同的标题,但我目前对他们有一些问题,我没有找到正确的方法。

我正在使用 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 许可协议

阅读 290
1 个回答

PowerTools for Open XML 刚刚发布了一个新的 HtmlConverter 模块。它现在包含一个开源的、免费的实现从 DOCX 到使用 CSS 格式化的 HTML 的转换。 HtmlConverter.cs 模块支持所有段落、字符和表格样式、字体和文本格式、编号和项目符号列表、图像等。请参阅 https://openxmldeveloper.org/

原文由 Eric White 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题