【问题标题】:OpenXML SDK WordprocessingDocument display in WebBrowser controlWebBrowser 控件中的 OpenXML SDK WordprocessingDocument 显示
【发布时间】:2012-06-11 10:59:05
【问题描述】:

我目前正在尝试这个:

using DocumentFormat.OpenXml.Packaging;
using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(fileNameDocx as string, true))
{
      var xdoc = wordDoc.MainDocumentPart;

      mainWebBrowser.NavigateToString(xdoc.Document.OuterXml.ToString());
} 

但这只是给了我文本,没有任何格式。是否可以在这样的网络浏览器控件中显示“.docx”?

【问题讨论】:

标签: c# openxml


【解决方案1】:

【讨论】:

  • 我将此标记为答案,因为我也找到了此解决方案。但是,我认为我通过尝试使用 OpenXML SDK 以错误的方式解决了我的问题。我在将要执行此操作的计算机上安装了 Word 2010,此解决方案与仅保存为 HTML 之间没有太大区别。谢谢。
  • 另存为 HTML 需要在执行应用程序的计算机上安装 MS Word。因此,在这种情况下,您将依赖于 MS Word。将 OpenXML 转换为 HTML - 更复杂,但此代码将能够在未安装 MS Word 的计算机上运行。
  • 正确,我确实依赖 Word。但由于我知道会安装 Word,所以这不会是问题。
  • 如果你可以让它工作并最终得到干净的 HTML,那么你可以使用 iTextSharp 将干净的 HTML 转换为 pdf,从而在不使用互操作的情况下创建 WordToPDF 转换器
【解决方案2】:

如果您想在 Web 浏览器控件中显示 XML,您可能需要:

  1. 将此 XML 加载到 XDocument
  2. block准备HTML模板,
  3. 然后 - 将formatted XML from XDocument 写入 PRE 块。

您可以将最终的 HTML 读入字符串并使用您提到的“mainWebBrowser.NavigateToString”,或者编写 HTML 文件以驱动并将其从那里读入您的 mainWebBrowser

希望有帮助

【讨论】:

  • 我实际上希望文档能够以实际的 DOCX Word 格式显示,可能使用 XSLT 样式。但事实并非如此。我还尝试将其加载到 XDocument 中。此外,如果文档中嵌入了任何图像,也可以显示它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-23
  • 1970-01-01
  • 2011-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多