Создание документов word (.доктор./odt) через C++ / Qt

Я использую Qt 4.5.3 и Windows XP. Мне нужно мое приложение для создания документов, содержащих информацию, которая используется и генерируется. Информация, которая используется, будет просто строками (QString чтобы быть более конкретным), и информация, которая генерируется будет строки и изображения как хорошо.

Я хочу, чтобы документы были документом MS word (.doc) или может быть открытым форматом документа (.odt) также я хочу, чтобы документы были отформатированы с шрифты, изображения, таблицы данных, некоторые цвета фона и все.

Я сделал творение PDF файлы с помощью QTextDocument, QTextCursor и QPrinter. Но когда я попытался применить то же самое QTextDocument на odt, Я закончил только с ошибкой формата.

есть ли способ генерировать такие документы, используя любые другие библиотеки, использующие C++? Как вы, ребята, используете для создания таких документов (.файлы odt/.doc) в C++? Любой указатели, ссылки, примеры относительно этого приветствуются.

3 ответов


Я сделал это через Qt путь. Я. e с помощью ActiveQt модуль.

справочная документация MS Word можно получить через,

документация MSDN, что фактически указывало на VBAWD10.chm файл с API ActiveX для MS Word.

приложение Word может быть инициализировано

QAxWidget wordApplication("Word.Application"); 

подобъекты приложения слова можно получить через функции

QAxBase::querySubObject()

для электронной.г:

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

чтобы передать полученный подобъект в качестве аргумента,

QVariant QAxBase::asVariant () const

любые вызовы функций, связанные с объектом word, могут быть вызваны с помощью функции using,

 QAxBase::dynamicCall ()

для электронной.г:

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

после довольно хорошего количества борьбы и нескольких убеждает, он работает нормально. :)

надеюсь, что это поможет тем, кто ищет аналогичные решения...


может быть, вы можете использовать это и записи в файл в формате ODF http://doc.trolltech.com/4.6/qtextdocumentwriter.html#supportedDocumentFormats Qt не знаю, как выход в DOC DOCX и др., Но можно использовать com(помощью activeqt) или какой-либо другой библиотеки, чтобы написать в те или другие форматы вам нужны


вы проверили этот ссылка здесь на так на чтение .docx в C++? Это должно указать вам правильное направление.