Spec-Zone.ru › Qt 5.13

Класс 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 setMargins(const QPagedPaintDevice::Margins &m) override
(obsolete) virtual void setPageSize(QPagedPaintDevice::PageSize newPageSize) override
(obsolete) virtual void setPageSizeMM(const QSizeF &size) override

Protected Functions

void setEngines(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, какое разрешение (в точках на дюйм) вы хотите получить от принтера.
  • 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 Поддержка печати.

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

перечисление QPrinter::ColorMode

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

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

перечисление QPrinter::DuplexMode

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

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

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

перечисление QPrinter::Orientation

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

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

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

перечисление QPrinter::OutputFormat

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

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

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

перечисление QPrinter::PageOrder

Этот тип перечисления используется QPrinter для того, чтобы сообщить прикладному программному обеспечению, как печатать.

Постоянная Значение Описание
QPrinter::FirstPageFirst 0 номер страницы с наименьшим номером должна быть напечатана первой.
QPrinter::LastPageFirst 1 номер страницы с наибольшим номером должна быть напечатана первой.

typedef QPrinter::PaperSize

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

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

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

END_OF_DOCUMENT_MARKER

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

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

Стандартный размер 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 точек на дюйм.

Примечание: При отрисовке текста на устройстве 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().

[protected] 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 использует кроссплатформенные движки Qt для печати PDF. Если вы можете сгенерировать этот формат напрямую, например, 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 или Mac.

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

void QPrinter::setResolution(int 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.13/qprinter.html

Spec-Zone.ru

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