Question

J'utilise Qt 4.5.3 et Windows XP. Je dois ma demande pour générer des documents qui contient les informations qui est utilisé et généré. L'information qui est en cours sera seulement cordes (QString pour être plus précis) et l'information qui est générée sera chaînes et images ainsi.

Je veux des documents à un document MS Word (de .doc) ou peut être un format ouvert (Document .odt) Je veux aussi les documents à formater avec polices, images, tableaux de données, des couleurs de fond et tous .

J'ai fait la création PDF fichiers à l'aide QTextDocument, QTextCursor et QPrinter. Mais quand j'ai essayé d'appliquer la même QTextDocument odt , je me suis retrouvé avec une erreur de format Élargi.

Y at-il un moyen de générer de tels documents à l'aide d'autres bibliothèques que l'utilisation C ++? Comment vous les gars utiliser pour générer de tels documents ( .odt /. doc ) en C ++? Tous les pointeurs, des liens, des exemples en ce qui concerne ce sont les bienvenus.

Était-ce utile?

La solution

Je l'ai fait par la voie de Qt. i.e. en utilisant le module de ActiveQt.

La documentation de référence pour MS Word peuvent être obtenus par le biais,

documentation MSDN , qui fait souligné le fichier VBAWD10.chm qui a le ActiveX apis pour MS Word .

La Parole application peut être initialisé par

QAxWidget wordApplication("Word.Application"); 

Les sous-objets de la demande de mot peuvent être obtenus grâce à la fonction,

QAxBase::querySubObject()

Pour par exemple:

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

Pour passer le sous-objet obtenu sous forme d'un argument,

QVariant QAxBase::asVariant () const

Les appels de fonction impliquant l'objet de mot peut être appelé en utilisant la fonction à l'aide,

 QAxBase::dynamicCall ()

Pour par exemple:

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

Après une assez bonne quantité de lutte et quelques convainc, il fonctionne très bien. :)

espère que cela aide à ceux qui sont tous à la recherche de solutions similaires ...

Autres conseils

peut-être vous pouvez utiliser cela et écrire dans un fichier au format ODF http: // doc.trolltech.com/4.6/qtextdocumentwriter.html#supportedDocumentFormats qt ne sait pas comment la sortie doc docx etc, mais vous pouvez utiliser com (activeQt) ou d'une autre bibliothèque pour écrire dans ces ou d'autres formats dont vous avez besoin

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top