ms-word-如何在C++中创建OpenOffice文档

ms word - How can an OpenOffice document be created in C++

本文关键字:创建 OpenOffice 文档 C++ ms-word-      更新时间:2023-10-16

可能重复:
从C++创建、打开和打印word文件

你好,

我需要从c++程序创建一个word文档,我使用的是windows2008服务器,办公自动化有时会失败,而且我需要非交互式服务来处理,因为自动化提供了交互式服务。我已经实现了自动化,有时会失败

我可以用什么方法创建openoffice/word-doc?

你能给我推荐任何链接或教程来完成以上任务吗。

PS-我了解了几个方法1.Openoffice SDK 2.OpenXML SDK

如果你曾经使用过以上内容,请建议我使用上面的哪一个。

提前感谢

这里有一个新发布的C库,名为libOPC,它与Open XML SDK的意图相同,但可以在所有Linux/Windows/Mac/等中使用。您可以在这里阅读:libOPC 0.0.1版本发布,并从CodePlex获得代码(请务必查看演示视频的文档页面(。

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

如果你的目标用户是Word 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是一个用于读写.docx和其他Office 2007文件的.NET API。如果您使用的是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文件只是一个zip文件,里面有一堆XML文件。文件之间的关系、文本的存储位置以及某些内容是如何被位置引用而不是由id引用的,这些都有一些奇怪之处,这通常被认为是XML的一种非常糟糕的做法。无论如何,这些问题都很容易解决,您可以手动创建.docx文件,而不会遇到太多麻烦。事实上,创作比阅读容易得多。

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

我建议您看看这一页,作者在其中解释了在没有MsWord可用、没有自动化或第三方库的情况下,他在服务器上生成Word文档的解决方案。