J'utilise QT 4.5.3 et Windows XP. J'ai besoin de ma demande pour générer des documents contenant les informations utilisées et générées. Les informations utilisées ne seront que des chaînes ( Je veux que les documents soient un document MS Word ( J'ai fait la création Y a-t-il un moyen de générer de tels documents en utilisant toutes les autres bibliothèques utilisant C ++? Comment vous utilisez les gars pour générer de tels documents ( .odt strong> /. doc strong>) en C ++? Tous les pointeurs, liens, exemples concernant cela sont les bienvenus. P> qstring code> être plus spécifiques) et les informations générées seront
.doc code>) ou peut être un format de document ouvert (
.Odt code>) aussi je veux que les documents soient formatés avec
qtextDocument code>,
qtextcursor code> et
qprinter code>. Mais quand j'ai essayé d'appliquer le même
qtextdocument code> pour
3 Réponses :
Peut-être que 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 produire Doc DocX, etc., mais vous pouvez utiliser COM (ActiveQT) ou une autre bibliothèque à écrire dans ces formats ou d'autres formats dont vous avez besoin p>
Je l'ai fait via le La documentation de référence pour Documentation MSDN , qui a effectivement pointé vers le fichier L'application Word peut être initialisée par p> Les sous-objets de l'application Word peuvent être obtenus via la fonction, p> pour par exemple: p> pour transmettre le sous-objet obtenu sous forme d'argument, P> qt code> way. c'est-à-dire en utilisant le module
activeqt code>.
vbawd10.chm code> qui contient les API ActiveX pour MS Word. p>
activeDocument->dynamicCall("Close(void)");
Pour moi, une meilleure façon d'automatiser les applications de bureau importe le modèle d'objet de la bibliothèque de type MS Word Com dans le projet C ++. Ceci est très similaire au EXEMPLE QUTLOOK pour le Demande Outlook. Vous pouvez extrapoler la technique sur Excel et PowerPoint si vous le souhaitez, à l'aide d'OLEVIEW.EXE pour obtenir les GUID de la bibliothèque. ici est un projet complet à GitHub.
Le fichier de projet QMake: p>
#include <QApplication> #include <QStandardPaths> #include <QDir> #include "MSWORD.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); Word::Application word; if (!word.isNull()) { word.SetVisible(false); Word::Documents* docs = word.Documents(); Word::Document* newDoc = docs->Add(); Word::Paragraph* p = newDoc->Content()->Paragraphs()->Add(); p->Range()->SetText("Hello Word Document from Qt!"); p->Range()->InsertParagraphAfter(); p->Range()->SetText("That's it!"); QDir outDir(QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)); QVariant fileName = outDir.absoluteFilePath("wordaut.docx"); QVariant format = Word::wdFormatXMLDocument; newDoc->SaveAs2(fileName, format); QVariant fileName2 = outDir.absoluteFilePath("wordaut2.doc"); QVariant format2 = Word::wdFormatDocument; newDoc->SaveAs2(fileName2, format2); newDoc->Close(); word.Quit(); } return 0; }