2010-07-05 72 views
10

我正在使用Qt 4.5.3和Windows XP。我需要我的應用程序生成包含正在使用和生成的信息的文檔。正在使用的信息將只是字符串(QString更具體),正在生成的信息將是字符串和圖像以及。通過C++/Qt生成Word文檔(.doc/.odt)

我想文件是一個MS Word文檔(.doc)或者可以是開放文檔格式(.odt)亦予所需的文檔,與字體,圖像,數據的表格被格式化,一些背景顏色和所有

我已經完成了創建PDF使用QTextDocumentQTextCursorQPrinter文件。但是,當我試圖應用相同的QTextDocumentodt,我最終只是格式錯誤。

有沒有辦法使用任何其他使用C++的庫來生成這樣的文檔?你們如何用C++生成這樣的文件(.odt /。doc)?任何指針,鏈接,關於這個的例子都是值得歡迎的。

回答

8

我已通過Qt的方式完成了此操作。即通過使用ActiveQt模塊。

的MS Word的參考文檔可以通過獲得

MSDN documentation,這實際上指向VBAWD10.chm文件具有用於MS Word中的ActiveX的API。

Word應用程序可以通過

QAxWidget wordApplication("Word.Application"); 

可以通過函數來​​獲得的字應用程序的子對象被初始化,

QAxBase::querySubObject() 

對於例如:

QAxObject *activeDocument = wordApplication.querySubObject("ActiveDocument"); 

將獲得的子對象作爲參數傳遞,

QVariant QAxBase::asVariant() const 

涉及字對象中的任何函數調用可以通過使用函數被調用,

QAxBase::dynamicCall() 

對於如:

activeDocument->dynamicCall("Close(void)"); 

一個相當不錯的金額鬥爭,很少說服後,它的工作正常。:)

希望它有助於那些誰都在尋找類似的解決方案...