通过 OpenOffice/LibreOffice 在 .NET WPF 应用程序中预览 MSOffice 文件

Posted

技术标签:

【中文标题】通过 OpenOffice/LibreOffice 在 .NET WPF 应用程序中预览 MSOffice 文件【英文标题】:Preview MSOffice files in .NET WPF app via OpenOffice/LibreOffice 【发布时间】:2015-06-24 12:52:10 【问题描述】:

我想在 WPF 应用程序中实现 MSOffice 文档(doc、docx、ppt、pptx、xls、xlsx)查看器,并且在客户端计算机上未安装 MSOffice 的情况下执行此操作。 据我所知,OpenOffice 或 LibreOffice SDK 可能会有所帮助,因为这两种产品都支持所需的格式。 但是我找不到任何关于组件的信息(在两个 SDK 的文档中),这些信息可以让我呈现和显示源文档,同时保持格式和样式。

有吗?或者我只是试图以错误的方式解决这个问题?请帮助,并提前致谢。

附:我实际上找到了一个 article(它是俄语),它解释了如何将 OpenOffice SDK 与 .NET 一起使用,但是,当然,它并不能解决问题

P.P.S 我看到了很多 .NET 的商业解决方案,例如 groupdocs、aspose 等,但我无法使用它们,只要它们仍然是专有产品

【问题讨论】:

我建议寻找帮助库而不是直接处理 OpenOffice。对于电子表格,您有 ClosedXml (closedxml.codeplex.com) 和 EPPlus (epplus.codeplex.com)。 感谢您的建议,但恐怕这些组件都不允许我显示电子表格。相反,它们旨在创建、编辑和保存电子表格。 微软为其所有办公软件提供免费查看器。您是否考虑过在客户端计算机上安装查看器,并让您的应用调用查看器软件? 我也想过这个选项,但我还没有安装任何查看器,因为我不知道如何将查看器集成到我的应用程序中。我需要在我的应用程序窗口内显示文档内容,而不是单独显示。 【参考方案1】:

我不知道任何开源解决方案,但 DevExpress 有可以呈现 Excel 电子表格、PDF 和 Word 文档的控件,例如:https://www.devexpress.com/Products/NET/Controls/WinForms/Rich_Editor/

【讨论】:

以上是关于通过 OpenOffice/LibreOffice 在 .NET WPF 应用程序中预览 MSOffice 文件的主要内容,如果未能解决你的问题,请参考以下文章

OpenOffice/LibreOffice 计算超链接

如何使用 UNO 遍历 OpenOffice/LibreOffice 中的整个文档

如何使用 C# 和 LibreOffice/OpenOffice 在电子表格单元格中设置粗体文本?

如何使用适用于 OpenOffice / LibreOffice 的 OpenERP 报表设计器插件获取字段列表

如何隐藏文档最新页面上的文本并在 OpenOffice/LibreOffice 上显示给其他人?

使用 OLE,从 OpenOffice/LibreOffice Calc 文档中删除除第一个以外的所有工作表,而不使用工作表名称