Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB
IF
Dec. 27, 2018, 10:06 p.m.

Qprint document word

Хочу реализовать, пока что только для себя прогрмму, которая распечатывает много word документов ( например 200 ). Средствами windoes -это выполняется криво и по 15 штук за раз максимум. главный вопрос, как заставить Qprint печатать word документы ? ( просто у word , как говорят на форумах , сам отвечает за свою печать. Что посоветуете ?

10% refund of hotel reservation amount on Booking
10% refund of hotel reservation amount on Booking
We offer a link with a 10% return on the amount of the order when booking a hotel through Booking
7

Добрый день.

Именно распечатывать, на принтере? Qt может использовать QPrinterDialog и ещё ряд классов, но в итоге он всё равно обращается к подсистеме ОС, которая отвечает за работу принтеров.

Или вы имели ввиду что-то другое?

0
IF

Да, я имел ввиду чуть другое.Лучше привиду пример.

У меня есть документ "1.docx", стоит задача распечатать его на принтере.

Почему такая задача. Потому что файлов может быть много, прям очень много и их надо очередью пускать на принтер. Вот и вся задача.

В итоге мне надо разобраться, как распечатать средствами Qt на принетр ( выставляя определённый принетр ) и всё.

0
IF

Просто люблю я С++ и Qt и как то не кросс платформенное писать приложение не очень.

0
IF

Немного выводов

1.Для работы с word документами нужна библиотека #include , она в свою очередь есть только на Windows Ссылка на документацию . Так что всякая кросс платформенная печать word документов под большим крестом!

На всякий оставлю кусок кода, который будет печатать докуметн word ( по мнению одного из Забугорских формучан )

QAxObject *word;
QAxObject *doc;
word = new QAxObject("Word.Application", this);
word->setProperty("DisplayAlerts", false);
word->setProperty("Visible", true);
doc = word->querySubObject("Documents");
doc->dynamicCall("Open(QVariant)", "hello_world.docx");
0

В приведенном Вами куске кода нет ничего, связанного с печатью документа. Это способ работы с Microsoft Office, используя ActiveX. Про печать надо изучать документацию . Еще рекомендую добавить проверки, чтобы избежать вылетов:

QAxObject* word = new QAxObject("Word.Application", this);
if(word) {
    word->setProperty("DisplayAlerts", 0);
    word->setProperty("Visible", true);
    QAxObject* docs = word->querySubObject("Documents");
    if(docs) {
        QAxObject* doc = docs->dynamicCall("Open(QString&)", "hello_world.docx");
        if(doc) {
            // .. далее печать и т.д.
            // ...
            delete doc;
        }
        docs->dynamicCall("Close()");
        delete docs;
    }
    word->dynamicCall("Quit()");
    delete word;
}
0
IF

Сильно извеняюсь, строчка для печати как раз

doc->querySubObject("PrintOut()");

Просто не заметрил, и я думаю вы правы по поводу ActiveX

0

Ну и поскольку используется ActiveX, о кроссплатформенности уже речи не идет.

0

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Last comments
March 19, 2019, 12:57 p.m.
AlexanderBardin

Добрый день. А проверить работоспособность локально как-то можно не указывая реальнй сайт (еще в разработке)
March 16, 2019, 1:55 p.m.
Дмитрий

Спасибо за статью. Давно итересует следующий вопрос: с помощью переменных QMAKE_TARGET_COMPANYQMAKE_TARGET_PRODUCTQMAKE_TARGET_DESCRIPTIONможно задать свойства компилируемой программы, о...
JS
March 12, 2019, 10:19 a.m.
Jean Stefanovich

Большое спасибо за разъяснения!
March 12, 2019, 10:04 a.m.
Евгений Легоцкой

Hello, In fact, this functionality or is not implemented, or is not documented. I'm not sure. But I think, that it should be implemented in Text QML Type. Because of we can write text in...
March 12, 2019, 9:51 a.m.
Евгений Легоцкой

Да вы правы. На самом деле проще через QSqlQueryModel, сколько не пытался использовать эти дженерики типо QSqlTableModel и QSqlRelationalTableModel, то всегда упирался в какие-то их ограничени...
Now discuss on the forum
March 19, 2019, 1:43 p.m.
AlexanderBardin

Очень интересная тема. У вас случайно нет статьи с полным циклом интреграции нескольких языков?Так сказать с нуля, что нужно, какие пакеты ставить, что куда писать. Тут вроде информации не ма...
March 17, 2019, 10:47 p.m.
Евгений Легоцкой

Добрый день. Вот, нашлось у меня немного времени. Делается это через шаблон проектирования наблюдатель. GraphKS_mfvSlup.zip
ЧГ
March 15, 2019, 9:52 p.m.
Чарльз Грин

спасибо, попробую, отпишусь
m
March 15, 2019, 7:41 p.m.
mihamuz

Сори догадался)
n
March 12, 2019, 4:57 p.m.
newbie.works.with.QT

Большооооое спасибо!!!!!Не передать как я вам благодарен, спасибо что всегда отзываетесь.Теперь я смогу продолжить работу в QT!!! (пробую писать бота (Я как вы могли догадаться немного не пр...
Join us in social networks

For registered users on the site there is a minimum amount of advertising