2011-04-28 47 views
3

可能重复创建:
Creating, opening and printing a word file from C++如何OpenOffice文档在C++

嗨,

我需要从C创建一个Word文档++程序, 林使用Windows 2008服务器,办公自动化有时会在这里失败,而且我需要非交互式服务来处理自动化提供的交互式服务。我实现了自动化i t有时候会失败

我可以创建openoffice/word doc的方式是什么?

可以请你给我建议任何链接或教程来做到上述。

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

如果你有上述工作,请建议我使用哪个以上。

在此先感谢

+3

@paul R - 请检查您已经链接的上述qestion讲述了有关办公自动化,嵌入word文档。 我需要通过C++程序创建一个openoffice word文档,可能会使用officeopen XML或openoffice SDK。 – Greenhorn 2011-04-28 06:19:44

+0

@Greenhorn:使用Office自动化有什么问题?您不需要在程序中嵌入Word文档以利用Office自动化。完全可以使用它来导出到Office文档。除非你不瞄准Windows系统...... – 2011-04-28 06:41:25

+0

@In silico:是不是依赖于Windows + Office安装?这是一个相当大的问题。这个问题标有openoffice,但可以使这个限制更清晰...... – 2011-04-28 06:46:15

回答

2

我劝你看看this page这里笔者讲述了他采取了什么解决方案来生成服务器上的Word文档,而无需MSWORD可用,没有自动化或第三方库。

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是阅读和写作的.docx和其他Office 2007文件.NET API。如果你使用C++/CLI,那么你可以很容易地使用它,它将简化编写.docx文件的过程。

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

但是,如果你使用直C++,没有.NET,那么你就不能使用SDK。尽管这并不是一个巨大的损失。无论如何,SDK只是对XML文件的轻微包装。一个docx文件只是一个带有一堆XML文件的zip文件。文件和文本存储位置之间的关系存在一些奇怪的地方,以及某些东西是如何被位置引用的,而不是通过id引用的,这通常被认为是XML的一种非常糟糕的做法。无论如何,这些问题很容易解决,您可以手动创建.docx文件,而不会有太多麻烦。实际上,创作比阅读要容易得多。

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

相关问题