Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > как задать заголовок для очереди печати?


Автор: _GRIN_ 13.9.2010, 10:12
Добрый день )
Из программы осуществляется печать некоего текста в html формате.
Сам текст печатается, но вот задать заголовок для задания в очереди печати не получается - там всегда отображается (stdin)
Вот функция печающая текст (в закомментированных строках печатается напрямую через CUPS):
Код

//class CPrinterPrivate : public QPrinter

void CPrinterPrivate::print(QString title,QString html)
{
    QTextDocument doc;
    doc.setMetaInformation(QTextDocument::DocumentTitle,title);
    printEngine()->setProperty(QPrintEngine::PPK_DocumentName,title);
    doc.setHtml(html);
    doc.print(this);

//    cups_dest_t *dest,*dests;
//    int num_dests = cupsGetDests(&dests);
//    int i;
//    for (i = num_dests, dest = dests; i > 0; i --, dest ++)
//        if(!dest->instance && !strcmp(dest->name,printerName().toStdString().c_str())) {
//            qDebug() << cupsPrintFile(dest->name,"/usr/include/err.h",
//                          title.toStdString().c_str(),dest->num_options,dest->options);
//            break;
//        }
//    cupsFreeDests(num_dests,dests);
}


Файл создаётся с именем отличным от title, но если печать в PDF, то при открытии файла title правильный (вверху окна).
По документации 
Код

QPrintEngine::PPK_DocumentName    3    A string describing the document name in the spooler.

Но что-то не работает :(
-----------------
Если печатать через CUPS, то всё ок, но способ платформо зависим.


Автор: maxxant 18.9.2010, 18:09
Цитата(_GRIN_ @ 13.9.2010,  10:12)
Добрый день )
Из программы осуществляется печать некоего текста в html формате.
Сам текст печатается, но вот задать заголовок для задания в очереди печати не получается - там всегда отображается (stdin)
[...]
Если печатать через CUPS, то всё ок, но способ платформо зависим.

У меня эта проблема проявляется на Линуксе при сборке и запуске вместе со скаченным qtsdk-2010.03. Судя по отладчику, тролли собирали его с опцией QT_NO_CUPS. И печать идёт обходным путём. При сборке и запуске с родным qt 4.6.2, который идёт в составе дистрибутива, проблемы нет.

Автор: _GRIN_ 18.9.2010, 22:40
maxxant, ты прав smile
Тема закрыта )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)