通过C++/Qt生成word文档(.doc/.odt)

lia*_*iaK 10 c++ qt ms-word odf

我使用的是Qt 4.5.3和Windows XP.我需要我的应用程序来生成包含正在使用和生成的信息的文档.正在使用的信息将只是字符串(QString更具体),并且生成的信息也将是字符串和图像.

我希望文档是一个MS Word文档(.doc)或可以是一个开放文档格式(.odt)我也希望文档格式化为字体,图像,数据表格,一些背景颜色等等.

我也做了创建PDF使用的文件QTextDocument,QTextCursorQPrinter.但是当我尝试将相同的内容QTextDocument应用于odt时,我最终只得到了格式错误.

有没有办法使用任何其他使用C++的库生成此类文档?你们如何使用C++ 生成这样的文档(.odt/.doc)?有关此的任何指针,链接和示例都是受欢迎的.

lia*_*iaK 8

我这样做了Qt.即通过使用ActiveQt模块.

MS Word的参考文档可以通过,

MSDN文档,实际上指向VBAWD10.chm具有MS Word的ActiveX API 的文件.

Word应用程序可以初始化

QAxWidget wordApplication("Word.Application"); 
Run Code Online (Sandbox Code Playgroud)

单词应用程序的子对象可以通过函数获得,

QAxBase::querySubObject()
Run Code Online (Sandbox Code Playgroud)

例如:

QAxObject *activeDocument = wordApplication.querySubObject("ActiveDocument");
Run Code Online (Sandbox Code Playgroud)

要将获取的子对象作为参数传递,

QVariant QAxBase::asVariant () const
Run Code Online (Sandbox Code Playgroud)

任何涉及word对象的函数调用都可以使用函数调用,

 QAxBase::dynamicCall ()
Run Code Online (Sandbox Code Playgroud)

例如:

activeDocument->dynamicCall("Close(void)");
Run Code Online (Sandbox Code Playgroud)

经过相当多的斗争和很少的说服力,它运作良好.:)

希望对那些寻求类似解决方案的人有所帮助......