Генерация документов слова (.doc/.odt) через C++ / QT

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

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

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

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

10
задан Mogsdad 17 January 2018 в 03:39
поделиться

2 ответа

Я сделал это с помощью способа 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)");

После довольно большой борьбы и нескольких попыток она работает нормально. :)

Надеюсь, это поможет тем, кто ищет похожие решения ...

8
ответ дан 4 December 2019 в 01:55
поделиться

возможно вы можете использовать это и записать в файл в формате odf http://doc.trolltech.com/4.6/qtextdocumentwriter.html#supportedDocumentFormats qt не знает как выводить doc docx и т. д., но вы можете использовать com (activeQt) или другую библиотеку для записи в тех или иных форматах, которые вам нужны

1
ответ дан 4 December 2019 в 01:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: