Я использую QT 4.5.3 и Windows XP. Мне нужно мое приложение для генерации документов, который содержит информацию, которая используется и сгенерирована. Информацией, которая используется, будут просто строки (QString
чтобы быть более конкретной) и информацией, которая сгенерирована, будут строки и изображения также.
Я хочу, чтобы документы были документом слова MS (.doc
) или может быть Формат открытых документов (.odt
) Также я хочу, чтобы документы были отформатированы со шрифтами, изображениями, таблицами данных, некоторых цветов фона и так далее.
Я сделал создание использование файлов PDF QTextDocument
, QTextCursor
и QPrinter
. Но когда я пытался применить то же QTextDocument
для odt я закончил только с ошибкой формата.
Существует ли способ генерировать такие документы, пользующиеся какими-либо другими библиотеками то использование C++? Как Вы парни используете для генерации таких документов (.odt/.doc) в C++? Любые указатели, ссылки, примеры относительно этого приветствуются.
Я сделал это с помощью способа Qt
. то есть с помощью модуля ActiveQt
.
Справочную документацию для MS Word можно получить через
документацию MSDN , которая фактически указала на файл VBAWD10.chm
, содержащий API ActiveX для MS Word.
Приложение Word может быть инициализировано с помощью
QAxWidget wordApplication("Word.Application");
Подобъекты приложения Word могут быть получены с помощью функции,
QAxBase::querySubObject()
Например:
QAxObject *activeDocument = wordApplication.querySubObject("ActiveDocument");
Чтобы передать полученный подобъект в качестве аргумента,
QVariant QAxBase::asVariant () const
Любые вызовы функций, включающие слово object, могут быть вызваны с помощью функции using,
QAxBase::dynamicCall ()
Например:
activeDocument->dynamicCall("Close(void)");
После довольно большой борьбы и нескольких попыток она работает нормально. :)
Надеюсь, это поможет тем, кто ищет похожие решения ...
возможно вы можете использовать это и записать в файл в формате odf http://doc.trolltech.com/4.6/qtextdocumentwriter.html#supportedDocumentFormats qt не знает как выводить doc docx и т. д., но вы можете использовать com (activeQt) или другую библиотеку для записи в тех или иных форматах, которые вам нужны