Domanda

Sto usando Qt 4.5.3 e Windows XP. Ho bisogno della mia applicazione per generare documenti che contiene le informazioni che viene utilizzato e ha generato. Le informazioni che viene utilizzato sarà solo stringhe (QString per essere più specifico) e l'informazione che viene generato sarà stringhe e immagini pure.

Voglio documenti ad 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 cercato di applicare lo stesso QTextDocument per odt , ho finito con errore di formato solo.

C'è un modo per generare tali documenti utilizzando altre librerie che l'uso C ++? Come voi ragazzi utilizzare per generare tali documenti ( .odt /. doc ) in C ++? Tutti gli indicatori, link, esempi riguardo a questa sono i benvenuti.

È stato utile?

Soluzione

L'ho fatto attraverso la via Qt. cioè utilizzando il modulo ActiveQt.

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

MSDN documentazione , che in realtà ha sottolineato il file VBAWD10.chm che ha l'ActiveX API per MS Word .

L'applicazione Word può essere inizializzato da

QAxWidget wordApplication("Word.Application"); 

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

QAxBase::querySubObject()

Per es:

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

Per passare il sub-oggetto ottenuto come argomento,

QVariant QAxBase::asVariant () const

Tutte le chiamate di funzione che coinvolgono la parola oggetto possono essere richiamati utilizzando la funzione utilizzando,

 QAxBase::dynamicCall ()

Per es:

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

Dopo una discreta quantità di lotta e di poche convince, sta funzionando. :)

La speranza è utile per coloro che sono tutti alla ricerca di soluzioni simili ...

Altri suggerimenti

forse si può usare questo e scrivere in un file in formato ODF http: // doc.trolltech.com/4.6/qtextdocumentwriter.html#supportedDocumentFormats qt non sa come uscita doc docx, ecc, ma è possibile utilizzare COM (activeQt) o qualche altra libreria di scrivere in questi o in altri formati è necessario

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top