2010-07-05 15 views
10

Utilizzo Qt 4.5.3 e Windows XP. Ho bisogno della mia applicazione per generare documenti che contengano le informazioni che vengono utilizzate e generate. Le informazioni che verranno utilizzate saranno solo stringhe (QString per essere più specifiche) e le informazioni che verranno generate saranno stringhe e immagini.Generazione di documenti word (.doc/.odt) tramite C++/Qt

voglio i documenti per essere un documento MS Word (.doc) oppure può essere un Open Document Format (.odt) Anche io voglio i documenti da formattati con font, immagini, tabelle di dati, alcuni colori di sfondo e tutto .

ho fatto la creazione PDF file utilizzando QTextDocument, QTextCursor e QPrinter. Ma quando ho provato ad applicare lo stesso QTextDocument per odt, ho finito con un errore di formato.

C'è un modo per generare tali documenti utilizzando qualsiasi altra libreria che utilizza C++? Come voi ragazzi utilizzate per generare tali documenti (.odt /. doc) in C++? Qualsiasi suggerimento, link, esempi su questo sono i benvenuti.

risposta

8

Ho fatto questo attraverso il modo Qt. Io uso il modulo ActiveQt.

La documentazione di riferimento per MS Word può essere ottenuto attraverso,

MSDN documentation, che in realtà ha sottolineato il file VBAWD10.chm che ha le API ActiveX per MS Word.

l'applicazione Word può essere inizializzato

QAxWidget wordApplication("Word.Application"); 

Gli oggetti secondari dell'applicazione parola può essere ottenuta attraverso la funzione,

QAxBase::querySubObject() 

Per esempio:

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

Per passare l'oggetto secondario ottenuto come argomento,

QVariant QAxBase::asVariant() const 

eventuali chiamate di funzione che coinvolgono la parola oggetto può essere chiamato con la funzione di tramite,

QAxBase::dynamicCall() 

Per esempio:

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

Dopo una discreta quantità di lotta e di poche convince, è funziona bene.:)

Spero che sia di aiuto per tutti quelli che cercano soluzioni simili ...

Problemi correlati