Spec-Zone.ru › Qt 5.15

Класс QPrinter

Класс QPrinter — это устройство рисования, которое печатает на принтере. Подробнее...

Заголовок: #include <QPrinter>
qmake: QT += printsupport
Наследует: QPagedPaintDevice
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Примечание: Все функции в этом классе являются реентерабельными.

Публичные типы

Перечисление РежимЦвета { Цвет, ГрадацииСерого }
Перечисление РежимДвустороннейПечати { ДвусторонняяПечатьОтсутствует, АвтоматическийРежим, ДвусторонняяПечатьПоДолгомуБоку, ДвусторонняяПечатьПоКоротомуБоку }
Перечисление Ориентация { Портрет, Альбом }
Перечисление ФорматВывода { СобственныйФормат, PdfФормат }
Перечисление ПорядокСтраниц { ПерваяСтраницаПервой, ПоследняяСтраницаПервой }
Тип РазмерБумаги
Перечисление ИсточникБумаги { Авто, Кассета, Конверт, РучнойКонверт, Формат, …, ПоследнийИсточникБумаги }
Перечисление ДиапазонПечати { ВсеСтраницы, Выделение, ДиапазонСтраниц, ТекущаяСтраница }
Перечисление РежимПринтера { РазрешениеЭкрана, РазрешениеПринтера, ВысокоеРазрешение }
Перечисление СостояниеПринтера { Простой, Активный, Прерван, Ошибка }
Перечисление ЕдиницаИзмерения { Миллиметр, Точка, Дюйм, Пика, Дидо, …, ПиксельУстройства }

Публичные функции

QPrinter(const QPrinterInfo &printer, QPrinter::PrinterMode mode = ScreenResolution)
QPrinter(QPrinter::PrinterMode mode = ScreenResolution)
virtual ~QPrinter()
bool прервать()
bool объединятьКопии() const
QPrinter::ColorMode режимЦветов() const
int количествоКопий() const
QString создатель() const
QString имяДокумента() const
QPrinter::DuplexMode двустороннийПечать() const
bool встраиваниеШрифтовВключено() const
int сСтраницы() const
bool полнаяСтраница() const
bool действителен() const
QString имяВыходногоФайла() const
QPrinter::OutputFormat форматВывода() const
QPageLayout макетСтраницы() const
QPrinter::PageOrder порядокСтраниц() const
QRectF прямоугольникСтраницы(QPrinter::Unit unit) const
QRectF прямоугольникБумаги(QPrinter::Unit unit) const
QPrinter::PaperSource источникБумаги() const
QPagedPaintDevice::PdfVersion версияPdf() const
QPrintEngine * печатныйДвигатель() const
QString программаПечати() const
QPrinter::PrintRange диапазонПечати() const
QString имяПринтера() const
QString параметрВыбораПринтера() const
QPrinter::PrinterState состояниеПринтера() const
int разрешение() const
void установитьОбъединениеКопий(bool collate)
void установитьРежимЦветов(QPrinter::ColorMode newColorMode)
void установитьКоличествоКопий(int count)
void установитьСоздателя(const QString &creator)
void установитьИмяДокумента(const QString &name)
void установитьДвустороннююПечать(QPrinter::DuplexMode duplex)
void установитьВстраиваниеШрифтов(bool enable)
void установитьССтраницыПоСтраницу(int from, int to)
void установитьПолнуюСтраницу(bool fp)
void установитьИмяВыходногоФайла(const QString &fileName)
void установитьФорматВывода(QPrinter::OutputFormat format)
bool установитьМакетСтраницы(const QPageLayout &newLayout)
bool установитьПоляСтраницы(const QMarginsF &margins)
bool установитьПоляСтраницы(const QMarginsF &margins, QPageLayout::Unit units)
void установитьПорядокСтраниц(QPrinter::PageOrder pageOrder)
bool установитьОриентациюСтраницы(QPageLayout::Orientation orientation)
bool установитьРазмерБумаги(const QPageSize &pageSize)
void установитьИсточникБумаги(QPrinter::PaperSource source)
void установитьВерсиюPdf(QPagedPaintDevice::PdfVersion version)
void установитьПрограммуПечати(const QString &printProg)
void установитьДиапазонПечати(QPrinter::PrintRange range)
void установитьИмяПринтера(const QString &name)
void установитьПараметрВыбораПринтера(const QString &option)
void установитьРазрешение(int dpi)
QList<QPrinter::PaperSource> поддерживаемыеИсточникиБумаги() const
QList<int> поддерживаемыеРазрешения() const
bool поддерживаетНесколькоКопий() const
int доСтраницы() const

Реализованные Публичные Функции

virtual bool новаяСтраница() override
virtual QPaintEngine * paintEngine() const override
(obsolete) virtual void установитьПоля(const QPagedPaintDevice::Margins &m) override
(obsolete) virtual void установитьРазмерСтраницы(QPagedPaintDevice::PageSize newPageSize) override
(obsolete) virtual void установитьРазмерСтраницыВММ(const QSizeF &size) override

Protected Functions

void установитьДвижки(QPrintEngine *printEngine, QPaintEngine *paintEngine)

Detailed Description

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

При печати непосредственно на принтер в Windows или macOS QPrinter использует встроенные драйверы принтера. В X11 QPrinter использует Common Unix Printing System (CUPS) для отправки PDF-вывода на принтер. В качестве альтернативы функция printProgram() может быть использована для указания команды или утилиты вместо системного по умолчанию.

Обратите внимание, что установка параметров, таких как размер бумаги и разрешение, на недопустимом принтере не определена. Можно использовать QPrinter::isValid(), чтобы проверить это перед изменением каких-либо параметров.

QPrinter поддерживает ряд параметров, большинство из которых могут быть изменены конечным пользователем через диалог печати. В общем случае QPrinter передает эти функции на базовую QPrintEngine.

Наиболее важными параметрами являются:

  • setOrientation() сообщает QPrinter, какую ориентацию страницы использовать.
  • setPaperSize() сообщает QPrinter, какой размер бумаги ожидать от принтера.
  • setResolution() сообщает QPrinter, какое разрешение вы хотите получить от принтера в точках на дюйм (DPI).
  • setFullPage() сообщает QPrinter, хотите ли вы работать со всей страницей или только с частью, на которой принтер может рисовать.
  • setCopyCount() сообщает QPrinter, сколько копий документа следует распечатать.

Многие из этих функций могут быть вызваны только до начала фактической печати (т. е. до вызова QPainter::begin() ). Это обычно имеет смысл, потому что, например, невозможно изменить количество копий, когда вы находитесь на полпути к печати. Также есть некоторые настройки, которые пользователь устанавливает (через диалог принтера), и которые приложения должны соблюдать. Более подробную информацию см. в документации QAbstractPrintDialog.

При вызове QPainter::begin(), на котором работает QPrinter, готовится к новой странице, позволяя QPainter сразу использовать для рисования первой страницы документа. После рисования первой страницы можно вызвать newPage() для запроса новой пустой страницы для рисования или вызвать QPainter::end() для завершения печати. Вторая страница и все последующие страницы подготавливаются с помощью вызова newPage() перед их рисованием.

Первой странице документа не обязательно предшествовать вызов newPage(). Вам нужно вызвать newPage() только после QPainter::begin(), если необходимо вставить пустую страницу в начало распечатанного документа. Аналогично, вызов newPage() после рисования последней страницы документа приведет к добавлению пустой страницы в конец распечатанного документа.

Если вы хотите прервать задачу печати, abort() сделает все возможное для остановки печати. Это может отменить всю задачу или только часть ее.

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

См. также QPrintDialog и Qt Поддержка печати.

Документация по типу членов

enum QPrinter::РежимЦвета

Этот перечисление используется для указания, должен ли QPrinter печатать в цвете или нет.

Константа Значение Описание
QPrinter::Color 1 печатать в цвете, если доступно, иначе в оттенках серого.
QPrinter::GrayScale 0 печатать в оттенках серого, даже на цветных принтерах.

enum QPrinter::РежимДвойнойСтороннейПечати

Это перечисление используется для указания, будет ли печать выполняться на одной или обеих сторонах каждого листа бумаги (односторонние или двухсторонние печать).

Константа Значение Описание
QPrinter::DuplexNone 0 Только односторонняя печать.
QPrinter::DuplexAuto 1 Используется значение по умолчанию принтера для определения использования двухсторонней печати.
QPrinter::DuplexLongSide 2 Для печати используются обе стороны каждого листа бумаги. Бумага переворачивается по ее самой длинной стороне, прежде чем будет напечатана вторая сторона.
QPrinter::DuplexShortSide 3 Для печати используются обе стороны каждого листа бумаги. Бумага переворачивается по ее самой короткой стороне, прежде чем будет напечатана вторая сторона.

Это перечисление было введено или изменено в Qt 4.4.

enum QPrinter::Ориентация

Этот тип перечисления (не путать с Orientation) используется для указания ориентации каждой страницы.

Константа Значение Описание
QPrinter::Portrait 0 высота страницы больше, чем ее ширина.
QPrinter::Landscape 1 ширина страницы больше, чем ее высота.

Этот тип взаимодействует с QPrinter::PaperSize и QPrinter::setFullPage() для определения окончательного размера страницы, доступной приложению.

enum QPrinter::ФорматВывода

Перечисление OutputFormat используется для описания формата, который QPrinter должен использовать для печати.

Константа Значение Описание
QPrinter::NativeFormat 0 QPrinter будет печатать вывод, используя метод, определенный платформой, на которой он работает. Этот режим является по умолчанию при печати непосредственно на принтер.
QPrinter::PdfFormat 1 QPrinter сгенерирует свой вывод в виде searchable PDF-файла. Этот режим является по умолчанию при печати в файл.

См. также outputFormat(), setOutputFormat(), и setOutputFileName().

enum QPrinter::ПорядокСтраниц

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

Константа Значение Описание
QPrinter::FirstPageFirst 0 сначала печатается страница с наименьшим номером.
QPrinter::LastPageFirst 1 сначала печатается страница с наибольшим номером.

typedef QPrinter::РазмерБумаги

typdef для перечисления QPagedPaintDevice::PageSize.

Этот тип перечисления определяет, какой размер бумаги должен использовать QPrinter. QPrinter не проверяет, доступен ли размер бумаги; он просто использует эту информацию вместе с QPrinter::Orientation и QPrinter::setFullPage() для определения печатаемой области.

Определенные размеры (с setFullPage(true)) находятся в QPagedPaintDevice.

С setFullPage(false) (по умолчанию) метрики будут немного меньше; насколько это зависит от используемого принтера.

По историческим причинам QPageSize::Executive не совпадает со стандартным размером Postscript и Windows Executive, вместо этого используйте QPageSize::ExecutiveStandard.

END_OF_DOCUMENT_MARKER ```

Стандартный размер Postscript QPageSize::Folio отличается от размера Windows DMPAPER_FOLIO, используйте стандартный размер Postscript QPageSize::FanFoldGermanLegal, если необходимо.

Этот typedef был представлен в Qt 4.4.

enum QPrinter::PaperSource

Этот тип перечисления указывает, какой источник бумаги QPrinter должен использовать. QPrinter не проверяет, доступен ли источник бумаги; он просто использует эту информацию, чтобы попытаться установить источник бумаги. Будет ли он устанавливать источник бумаги, зависит от того, есть ли у принтера этот конкретный источник.

Предупреждение: В настоящее время реализовано только для Windows.

Постоянная Значение Описание
QPrinter::Auto 6
QPrinter::Cassette 11
QPrinter::Envelope 4
QPrinter::EnvelopeManual 5
QPrinter::FormSource 12
QPrinter::LargeCapacity 10
QPrinter::LargeFormat 9
QPrinter::Lower 1
QPrinter::MaxPageSource 13 Устаревшее, используйте LastPaperSource вместо этого
QPrinter::Middle 2
QPrinter::Manual 3
QPrinter::OnlyOne 0
QPrinter::Tractor 7
QPrinter::SmallFormat 8
QPrinter::Upper OnlyOne
QPrinter::CustomSource 14 Источник бумаги, определенный принтером, неизвестный Qt
QPrinter::LastPaperSource CustomSource Наибольшее допустимое значение PaperSource, в настоящее время CustomSource

enum QPrinter::PrintRange

Используется для указания варианта выбора диапазона печати.

Постоянная Значение Описание
QPrinter::AllPages 0 Все страницы должны быть напечатаны.
QPrinter::Selection 1 Должна быть напечатана только выделенная область.
QPrinter::PageRange 2 Должна быть напечатана указанная область страниц.
QPrinter::CurrentPage 3 Должна быть напечатана только текущая страница.

См. также setPrintRange(), printRange(), и QAbstractPrintDialog::PrintRange.

enum QPrinter::PrinterMode

Это перечисление описывает режим работы принтера. В основном это предварительно устанавливает определенное разрешение и режим работы.

Постоянная Значение Описание
QPrinter::ScreenResolution 0 Устанавливает разрешение печатающего устройства на разрешение экрана. Это имеет большое преимущество, так как результаты, полученные при рисовании на принтере, будут более или менее точно соответствовать видимому выводу на экране. Это проще в использовании, поскольку метрики шрифтов на экране и на принтере одинаковы. Это значение по умолчанию. ScreenResolution обеспечит вывод более низкого качества, чем HighResolution, и должен использоваться только для черновиков.
QPrinter::PrinterResolution 1 Это значение устарело. Оно эквивалентно ScreenResolution в Unix и HighResolution в Windows и Mac. Из-за различий между ScreenResolution и HighResolution использование этого значения может привести к непортябельности кода принтера.
QPrinter::HighResolution 2 В Windows устанавливает разрешение принтера на определенное для используемого принтера. Для печати PDF устанавливает разрешение драйвера PDF на 1200 dpi.

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

enum QPrinter::PrinterState

Постоянная Значение
QPrinter::Idle 0
QPrinter::Active 1
QPrinter::Aborted 2
QPrinter::Error 3

enum QPrinter::Unit

Этот тип перечисления используется для указания единицы измерения размеров страниц и бумаги.

Постоянная Значение
QPrinter::Millimeter 0
QPrinter::Point 1
QPrinter::Inch 2
QPrinter::Pica 3
QPrinter::Didot 4
QPrinter::Cicero 5
QPrinter::DevicePixel 6

Обратите внимание на разницу между Point и DevicePixel. Единица Point определена как 1/72 дюйма, а единица DevicePixel зависит от разрешения и основана на фактических пикселях или точках на принтере.

Это перечисление было введено или изменено в Qt 4.4.

Документация по членам-функциям

QPrinter::QPrinter(const QPrinterInfo &printer, QPrinter::PrinterMode mode = ScreenResolution)

Создаёт новый объект принтера с заданным printer и mode.

Эта функция была представлена в Qt 4.4.

QPrinter::QPrinter(QPrinter::PrinterMode mode = ScreenResolution)

Создаёт новый объект принтера с заданным mode.

[virtual] QPrinter::~QPrinter()

Уничтожает объект принтера и освобождает все выделенные ресурсы. Если принтер уничтожается во время выполнения задания печати, это может или не может повлиять на задание печати.

bool QPrinter::abort()

Прерывает текущую операцию печати. Возвращает true если операция печати была успешно прервана, и printerState() вернёт QPrinter::Aborted; в противном случае возвращает false.

Прервать задание печати не всегда возможно. Например, все данные переданы на принтер, но принтер не может или не захочет отменить задание при запросе.

bool QPrinter::collateCopies() const

Возвращает true если сортировка включена при выборе нескольких копий. Возвращает false если она выключена при выборе нескольких копий. При выключенной сортировке печать каждой отдельной страницы будет повторяться numCopies() раз перед началом следующей страницы. При включённой сортировке все страницы печатаются перед началом следующей копии этих страниц.

Эта функция была представлена в Qt 4.1.

См. также setCollateCopies().

QPrinter::ColorMode QPrinter::colorMode() const

Возвращает текущий режим цвета.

См. также setColorMode().

int QPrinter::copyCount() const

Возвращает количество копий, которое будет напечатано. Значение по умолчанию — 1.

Эта функция была представлена в Qt 4.7.

См. также setCopyCount() и supportsMultipleCopies().

QString QPrinter::creator() const

Возвращает имя приложения, которое создало документ.

См. также setCreator().

QString QPrinter::docName() const

Возвращает имя документа.

См. также setDocName() и QPrintEngine::PrintEnginePropertyKey.

QPrinter::DuplexMode QPrinter::duplex() const

Возвращает текущий режим дуплексной печати.

Эта функция была добавлена в Qt 4.4.

См. также setDuplex().

bool QPrinter::fontEmbeddingEnabled() const

Возвращает true, если встраивание шрифтов включено.

Эта функция была добавлена в Qt 4.1.

См. также setFontEmbeddingEnabled().

int QPrinter::fromPage() const

Возвращает номер первой страницы в диапазоне печатаемых страниц («страница от»). Страницы в документе нумеруются так, что первая страница — это страница 1.

По умолчанию эта функция возвращает специальное значение 0, означающее, что параметр «страница от» не задан.

Примечание: Если fromPage() и toPage() оба возвращают 0, это означает, что будет напечатан весь документ.

Эта функция была добавлена в Qt 4.1.

См. также setFromTo() и toPage().

bool QPrinter::fullPage() const

Возвращает true, если начало координатной системы принтера находится в углу страницы, и false, если в краю печатаемой области.

См. setFullPage() для подробностей и замечаний.

См. также setFullPage() и pageLayout().

bool QPrinter::isValid() const

Возвращает true, если выбранный в данный момент принтер — это действительный принтер в системе или чистый принтер PDF; в противном случае возвращает false.

Для обнаружения других ошибок проверьте результат вызова QPainter::begin() или QPrinter::newPage().

    QPrinter printer;
    printer.setOutputFormat(QPrinter::PdfFormat);
    printer.setOutputFileName("/foobar/nonwritable.pdf");
    QPainter painter;
    if (! painter.begin(&printer)) { // failed to open file
        qWarning("failed to open file, is it writable?");
        return 1;
    }
    painter.drawText(10, 10, "Test");
    if (! printer.newPage()) {
        qWarning("failed in flushing page to disk, disk full?");
        return 1;
    }
    painter.drawText(10, 10, "Test 2");
    painter.end();

Эта функция была добавлена в Qt 4.4.

См. также setPrinterName().

[override virtual] bool QPrinter::newPage()

Переопределяет: QPagedPaintDevice::newPage().

Указывает принтеру выбросить текущую страницу и продолжить печать на новой странице. Возвращает true, если это удалось; в противном случае возвращает false.

Вызов newPage() для неактивного объекта QPrinter всегда завершится ошибкой.

QString QPrinter::outputFileName() const

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

См. также setOutputFileName() и QPrintEngine::PrintEnginePropertyKey.

QPrinter::OutputFormat QPrinter::outputFormat() const

Возвращает формат вывода для этого принтера.

Эта функция была добавлена в Qt 4.1.

См. также setOutputFormat().

QPageLayout QPrinter::pageLayout() const

Возвращает текущий макет страницы. Используйте этот метод для доступа к текущему QPageSize, QPageLayout::Orientation, QMarginsF, fullPageRect() и paintRect().

Обратите внимание, что вы не можете использовать методы установки на возвращенном объекте; вы должны либо использовать методы QPrinter, либо setPageLayout().

Эта функция была добавлена в Qt 5.3.

См. также setPageLayout(), setPageSize(), setPageOrientation() и setPageMargins().

QPrinter::PageOrder QPrinter::pageOrder() const

Возвращает текущий порядок страниц.

По умолчанию порядок страниц — FirstPageFirst.

См. также setPageOrder().

QRectF QPrinter::pageRect(QPrinter::Unit unit) const

Возвращает прямоугольник страницы в единицах unit; он обычно меньше, чем paperRect(), так как страница обычно имеет поля между краями и бумагой.

Эта функция была добавлена в Qt 4.4.

См. также paperSize().

[override virtual] QPaintEngine *QPrinter::paintEngine() const

Переопределяет: QPaintDevice::paintEngine() const.

Возвращает движок отрисовки, используемый принтером.

QRectF QPrinter::paperRect(QPrinter::Unit unit) const

Возвращает прямоугольник бумаги в единицах unit; он обычно больше, чем pageRect().

Эта функция была добавлена в Qt 4.4.

См. также pageRect().

QPrinter::PaperSource QPrinter::paperSource() const

Возвращает источник бумаги принтера. Это Manual или поддон или кассета для бумаги принтера.

См. также setPaperSource().

QPagedPaintDevice::PdfVersion QPrinter::pdfVersion() const

Возвращает версию PDF для данного принтера. По умолчанию это PdfVersion_1_4.

Эта функция была добавлена в Qt 5.10.

См. также setPdfVersion().

QPrintEngine *QPrinter::printEngine() const

Возвращает движок печати, используемый принтером.

Эта функция была добавлена в Qt 4.1.

QString QPrinter::printProgram() const

Возвращает имя программы, которая отправляет выходные данные печати на принтер.

По умолчанию возвращается пустая строка; это означает, что QPrinter будет пытаться действовать разумно в зависимости от системы. Только в X11 вы можете установить другое значение, чтобы использовать определённую программу печати. На других платформах это возвращает пустую строку.

См. также setPrintProgram() и setPrinterSelectionOption().

QPrinter::PrintRange QPrinter::printRange() const

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

Эта функция была добавлена в Qt 4.1.

См. также setPrintRange().

QString QPrinter::printerName() const

Возвращает имя принтера. Это значение изначально устанавливается в имя принтера по умолчанию.

См. также setPrinterName().

QString QPrinter::printerSelectionOption() const

Возвращает строку выбора параметров принтера. Это полезно только если команда печати была явно задана.

Значение по умолчанию (пустая строка) означает, что принтер должен быть выбран способом, зависящим от системы.

Любое другое значение подразумевает, что должно быть использовано данное значение.

Эта функция всегда возвращает пустую строку в Windows и macOS.

См. также setPrinterSelectionOption() и setPrintProgram().

QPrinter::PrinterState QPrinter::printerState() const

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

int QPrinter::resolution() const

Возвращает предполагаемое разрешение принтера, заданное с помощью setResolution() или драйвером принтера.

См. также setResolution().

void QPrinter::setCollateCopies(bool collate)

Устанавливает значение по умолчанию для флажка сортировки при появлении диалога печати. Если collate равно true, это включает setCollateCopiesEnabled(). Значение по умолчанию — false. Это значение будет изменено тем, что нажмёт пользователь в диалоге печати.

Эта функция была добавлена в Qt 4.1.

См. также collateCopies().

void QPrinter::setColorMode(QPrinter::ColorMode newColorMode)

Устанавливает режим цвета принтера на newColorMode, который может быть либо Color, либо GrayScale.

См. также colorMode().

void QPrinter::setCopyCount(int count)

Устанавливает количество копий для печати в count.

Драйвер принтера считывает это значение и печатает указанное количество копий.

Эта функция была добавлена в Qt 4.7.

См. также copyCount() и supportsMultipleCopies().

void QPrinter::setCreator(const QString &creator)

Устанавливает имя приложения, создавшего документ, на creator.

Эта функция применима только к X11 версии Qt. Если имя создателя не указано, он будет установлен как «Qt» с каким-то номером версии.

См. также creator().

void QPrinter::setDocName(const QString &name)

Устанавливает имя документа на name.

В X11 имя документа используется, например, в качестве имени файла по умолчанию в QPrintDialog. Обратите внимание, что имя документа не влияет на имя файла, если принтер печатает в файл. Для этого используйте функцию setOutputFile().

См. также docName() и QPrintEngine::PrintEnginePropertyKey.

void QPrinter::setDuplex(QPrinter::DuplexMode duplex)

Включает двустороннюю печать в соответствии с режимом duplex.

Эта функция была добавлена в Qt 4.4.

См. также duplex().

void QPrinter::setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine)

Эта функция используется подклассами QPrinter для задания пользовательских движков печати и отрисовки (printEngine и paintEngine соответственно).

QPrinter не перенимает владение движками, поэтому вам нужно управлять этими экземплярами движков самостоятельно.

Обратите внимание, что изменение движков сбросит состояние принтера и все его свойства.

Эта функция была добавлена в Qt 4.1.

См. также printEngine(), paintEngine() и setOutputFormat().

void QPrinter::setFontEmbeddingEnabled(bool enable)

Включает или выключает встраивание шрифтов в зависимости от enable.

Эта функция была добавлена в Qt 4.1.

См. также fontEmbeddingEnabled().

void QPrinter::setFromTo(int from, int to)

Устанавливает диапазон страниц для печати, охватывающий страницы с номерами, указанными from и to, где from соответствует первой странице в диапазоне, а to — последней.

Примечание: Страницы документа нумеруются в соответствии с соглашением, что первая страница — страница 1. Однако если from и to оба установлены в 0, будет напечатан весь документ.

Эта функция в основном используется для установки значения по умолчанию, которое пользователь может изменить в диалоге печати при вызове setup().

Эта функция была добавлена в Qt 4.1.

См. также fromPage() и toPage().

void QPrinter::setFullPage(bool fp)

Если fp истинно, то включает поддержку рисования по всей странице; в противном случае ограничивает рисование областью печати, указанной устройством.

По умолчанию печать по всей странице отключена. В этом случае начало координатной системы QPrinter совпадает с верхним левым углом области печати.

Если печать по всей странице включена, начало координатной системы QPrinter совпадает с верхним левым углом самого листа бумаги. В этом случае метрики устройства device metrics будут сообщать о таких же размерах, как указано в PaperSize. Возможно, не удастся напечатать на всей физической странице из-за полей принтера, поэтому приложение должно учитывать сами поля.

См. также fullPage(), pageLayout(), setPageSize(), width() и height().

void QPrinter::setOutputFileName(const QString &fileName)

Устанавливает имя выходного файла на fileName.

Установка нулевого или пустого имени (0 или "") отключает печать в файл. Установка ненулевого имени включает печать в файл.

Это может изменить значение outputFormat(). Если имя файла имеет суффикс ".pdf", генерируется PDF. Если имя файла имеет суффикс, отличный от ".pdf", используемый формат вывода — тот, что установлен с помощью setOutputFormat().

QPrinter использует кроссплатформенные движки печати PDF Qt соответственно. Если вы можете генерировать этот формат напрямую, например, macOS может генерировать PDF из своего движка печати, установите формат вывода обратно в NativeFormat.

См. также outputFileName() и setOutputFormat().

void QPrinter::setOutputFormat(QPrinter::OutputFormat format)

Устанавливает формат вывода для этого принтера на format.

Если format совпадает с текущим значением, изменений не будет.

Если format равен NativeFormat, то printerName будет установлен на принтер по умолчанию. Если не настроен ни один валидный принтер, изменений не будет. Если вы хотите установить NativeFormat со специфическим printerName, используйте setPrinterName().

Эта функция была добавлена в Qt 4.1.

См. также outputFormat() и setPrinterName().

bool QPrinter::setPageLayout(const QPageLayout &newLayout)

Устанавливает макет страницы на newLayout.

Если newLayout не подходит для текущего принтера, макет страницы не будет изменён. Например, если размер страницы не поддерживается принтером, или если поля выходят за пределы печатаемой области.

Возвращает true, если макет страницы был успешно установлен на newLayout.

Эта функция была добавлена в Qt 5.3.

См. также pageLayout(), setPageSize(), setPageOrientation() и setPageMargins().

bool QPrinter::setPageMargins(const QMarginsF &margins)

Устанавливает поля страницы на margins, используя текущие единицы измерения. Возвращает true, если поля страницы были установлены успешно.

См. также pageLayout() и setPageLayout().

bool QPrinter::setPageMargins(const QMarginsF &margins, QPageLayout::Unit units)

Устанавливает поля страницы на margins в заданных units. Если units не указаны, используются текущие единицы измерения.

Если режим «Полная страница» включён, проверка margins не выполняется; в противном случае margins должны находиться внутри печатаемой области для размера страницы на текущем принтере.

Чтобы получить текущие поля страницы, используйте pageLayout().pageMargins().

Возвращает true, если поля страницы были успешно установлены на margins.

Эта функция была добавлена в Qt 5.3.

См. также pageLayout() и setPageLayout().

void QPrinter::setPageOrder(QPrinter::PageOrder pageOrder)

Устанавливает порядок страниц на pageOrder.

Порядок страниц может быть QPrinter::FirstPageFirst или QPrinter::LastPageFirst. Приложение отвечает за чтение порядка страниц и печать соответственно.

Эта функция в основном используется для установки значения по умолчанию, которое пользователь может изменить в диалоге печати.

Эта функция поддерживается только в X11.

См. также pageOrder().

bool QPrinter::setPageOrientation(QPageLayout::Orientation orientation)

Устанавливает ориентацию страницы на QPageLayout::Portrait или QPageLayout::Landscape.

Драйвер принтера считывает это значение и печатает страницу в указанной ориентации.

В Windows и Mac этот параметр можно изменить во время печати, и он вступит в силу с следующего вызова newPage().

Чтобы получить текущую ориентацию QPageLayout::Orientation, используйте pageLayout().pageOrientation().

Возвращает true, если ориентация страницы была успешно установлена на orientation.

Эта функция была добавлена в Qt 5.3.

См. также pageLayout() и setPageLayout().

bool QPrinter::setPageSize(const QPageSize &pageSize)

Устанавливает размер страницы на pageSize.

Если pageSize не является допустимым для текущего принтера, размер страницы не будет изменён.

Изменение размера страницы может повлиять на текущие поля, если они выходят за пределы печатаемой области для нового размера страницы на текущем принтере.

Чтобы получить текущий QPageSize, используйте pageLayout().pageSize().

Возвращает true, если размер страницы был успешно установлен на pageSize.

Эта функция была добавлена в Qt 5.3.

См. также pageSize(), pageLayout() и setPageLayout().

void QPrinter::setPaperSource(QPrinter::PaperSource source)

Устанавливает параметр источника бумаги на source.

Только Windows: Этот параметр может быть изменён во время печати и вступит в силу с следующего вызова newPage().

См. также paperSource().

void QPrinter::setPdfVersion(QPagedPaintDevice::PdfVersion version)

Устанавливает версию PDF для этого принтера на version.

Если version совпадает со значением, установленным в настоящее время, изменений не будет.

Эта функция была добавлена в Qt 5.10.

См. также pdfVersion().

void QPrinter::setPrintProgram(const QString &printProg)

Устанавливает имя программы, которая должна выполнить задачу печати, на printProg.

В X11 эта функция устанавливает программу для вызова с PDF-выводом. На других платформах она не имеет эффекта.

См. также printProgram().

void QPrinter::setPrintRange(QPrinter::PrintRange range)

Устанавливает параметр диапазона печати в range.

Эта функция была добавлена в Qt 4.1.

См. также printRange().

void QPrinter::setPrinterName(const QString &name)

Устанавливает имя принтера на name.

Если name пустая, формат вывода устанавливается на PdfFormat.

Если name не является допустимым принтером, изменений не будет.

Если name является допустимым принтером, формат вывода устанавливается на NativeFormat.

См. также printerName(), isValid() и setOutputFormat().

void QPrinter::setPrinterSelectionOption(const QString &option)

Устанавливает принтер для использования option для выбора принтера. option по умолчанию null (что означает, что Qt должен сам правильно угадать), но может быть установлено на другие значения для использования определённого параметра выбора принтера.

Если параметр выбора принтера изменяется во время работы принтера, текущая задача печати может быть или не быть затронута.

Эта функция не имеет эффекта в Windows или macOS.

См. также printerSelectionOption() и setPrintProgram().

void QPrinter::setResolution(int dpi)

Запрашивает печать принтером с разрешением dpi или как можно ближе к dpi.

Этот параметр влияет на систему координат, возвращаемую, например, QPainter::viewport().

Эта функция должна быть вызвана до QPainter::begin(), чтобы иметь эффект на всех платформах.

См. также resolution() и setPaperSize().

QList<QPrinter::PaperSource> QPrinter::supportedPaperSources() const

Возвращает поддерживаемые размеры бумаги для данного принтера.

Значения могут быть либо значением, соответствующим записи в перечислении QPrinter::PaperSource, либо драйвер-специфическим значением. Драйвер-специфические значения больше, чем константа DMBIN_USER, объявленная в wingdi.h.

Предупреждение: Эта функция доступна только в Windows.

QList<int> QPrinter::supportedResolutions() const

Возвращает список разрешений (целых чисел точек на дюйм), которые поддерживает принтер.

В X11, где вся печать выполняется непосредственно в PDF, эта функция всегда вернёт список из одного элемента, содержащего только разрешение PDF, т.е., 72 (72 dpi — но см. PrinterMode).

bool QPrinter::supportsMultipleCopies() const

Возвращает true, если принтер поддерживает печать нескольких копий одного документа в одной задаче; в противном случае возвращается false.

На большинстве систем эта функция вернёт true. Однако на системах X11, не поддерживающих CUPS, эта функция вернёт false. Это означает, что приложение должно обрабатывать количество копий, печатая один и тот же документ необходимое количество раз.

Эта функция была добавлена в Qt 4.7.

См. также setCopyCount() и copyCount().

int QPrinter::toPage() const

Возвращает номер последней страницы в диапазоне печатаемых страниц («номер страницы до»). Номера страниц в документе нумеруются так, что первая страница — это страница 1.

По умолчанию эта функция возвращает специальное значение 0, означающее, что параметр «номер страницы до» не установлен.

Примечание: Если fromPage() и toPage() оба возвращают 0, это означает, что будет напечатан весь документ.

Программа должна считывать этот параметр и печатать соответствующим образом.

Эта функция была добавлена в Qt 4.1.

См. также setFromTo() и fromPage().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qprinter.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API