Gtkmm:如何在gtk窗口中打开.odp文件(开放式办公室)

时间:2016-04-20 09:10:02

标签: gtkmm

我想打开说test.odp文件是一个gtk窗口。我知道如何打开PDF文件,但不知道odp文件。

提前致谢

2 个答案:

答案 0 :(得分:0)

libreoffice可以将several ways to convert个内容打开成PDF格式。您可以使用它来创建临时PDF并打开它。

我认为不存在允许您编辑ODP的任何类型的库,因为这种类型的操作非常复杂,需要专用的应用程序。

如果我有一个想要向某人提供ODT的应用程序,我可能会考虑其他方法。如果要从某个位置生成或下载ODP,请为用户提供“另存为...”对话框。这样他们就知道在哪里找到它,并且可以用自己认为合适的程序自己打开它。

答案 1 :(得分:0)

.odp 文件基本上是一个 zip 存档,其中包含多个带有 medadata 的文件,以及一些带有实际数据的文件。
Wikipedia 有一个例子。根据维基百科文章,您可以编写一个可以将 .odp 文件转换为 pdf 文件的库,然后在您的 gtk 窗口中显示您生成的 pdf。
另一个解决方案:您可以从 gtk 应用程序启动 LibreOffice 或 OpenOffice,并将 .odp 文件的路径作为参数。包括 cstdlib 标头,然后根据需要修改以下代码:

path = "/path/to/file.odp"; // e.g. the contents of a Gtk::Entry could be assigned  to this variable
exit_code = std::system("libreoffice " + path); // if you have using namespace std; in your code, remove the std::
// ...
// do something with exit_code (if you want)

std::system 函数的文档可以在 cplusplus.com

上找到