如何在C ++中创建OpenOffice文档

时间:2011-04-28 05:17:53

标签: c++ ms-word openxml openoffice.org openxml-sdk

  

可能重复:
  Creating, opening and printing a word file from C++

您好,

我需要从c ++程序创建一个word文档, 我正在使用Windows 2008服务器,办公室自动化有时在这里失败,我也需要非交互式服务来处理,因为自动化提供了交互式服务。我实现了有时失败的自动化

我可以通过哪些方式创建openoffice / word doc?

您可以建议我做上述任何链接或教程。

PS - 我开始了解几种方法1.Openoffice SDK 2.OpenXML SDK

如果您已经使用上述内容,请建议我使用上述哪一项。

提前致谢

3 个答案:

答案 0 :(得分:7)

这是一个名为 libOPC 的新发布的C库,其意图与Open XML SDK相同,但可以在所有Linux / Windows / Mac /等中使用。您可以在此处阅读相关内容:libOPC version 0.0.1 released并从CodePlex获取代码(请务必查看documentation page以获取演示视频)。

答案 1 :(得分:2)

我建议你看一下this page作者解释他在服务器上生成Word文档的解决方案,没有MsWord,没有自动化或第三方库。

答案 2 :(得分:2)

如果您的目标是Word 2007及更高版本,那么直接使用Open Office XML SDK和Open Office XML是很好的选择。

如果您的目标用户是Wo​​rd 2003及更早版本,那么它可能不是最佳选择。但是,即使这些用户也可以安装免费的过滤器,以便能够在Word 2003中打开Word 2007(.docx)文档。您可以从应用程序链接到此下载。大多数使用Word 2003或更早版本的人可能仍然安装了此过滤器,因为它们经常会遇到人们共享较新文件的情况。

http://www.microsoft.com/DOWNLOADS/en/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=en

Open Office XML SDK是一个.NET API,用于读写.docx和其他Office 2007文件。如果您正在使用C ++ / CLI,那么您可以轻松地使用它,这将简化编写.docx文件的过程。

http://www.microsoft.com/downloads/en/details.aspx?FamilyId=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&displaylang=en

但是,如果您使用没有.NET的直接C ++,则无法使用SDK。这不是一个巨大的损失。无论如何,SDK只是XML文件的一个非常轻微的包装器。 docx文件只是一个包含大量XML文件的zip文件。文件之间的关系存在一些奇怪之处,文本存储的位置以及某些内容是如何在位置而不是由id引用的,这通常被认为是XML的一种非常糟糕的做法。无论如何,这些问题很容易解决,您可以手动创建.docx文件而不会有太多麻烦。事实上,创作比阅读容易得多。

SDK仍然很有用,因为它包含一个文件探索工具,可以为现有文件提供图形浏览器。如果您想知道如何创建特定内容,请在Word 2007中执行此操作,保存文件,然后查看该文件包含的内容。