Spec-Zone.ru › Qt 5.12

Класс QPrinter

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

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

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

Открытые типы

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

Открытые функции

QPrinter(QPrinter::PrinterMode mode = ScreenResolution)
QPrinter(const QPrinterInfo &printer, 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 установитьСтраницыCДо(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

Реализованные общедоступные функции

виртуальный bool newPage() override
виртуальный QPaintEngine * paintEngine() const override
(obsolete) виртуальный void setMargins(const QPagedPaintDevice::Margins &m) override
(obsolete) виртуальный void setPageSize(QPagedPaintDevice::PageSize newPageSize) override
(obsolete) виртуальный void setPageSizeMM(const QSizeF &size) override
  • 13 общедоступные функции, унаследованные от QPagedPaintDevice
  • 14 общедоступные функции, унаследованные от QPaintDevice

Защищённые функции

void setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine)
  • 1 защищённая функция, унаследованная от QPaintDevice

Подробное описание

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

Это устройство представляет серию страниц печатного вывода и используется почти так же, как и другие устройства рисования, такие как 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.

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

перечисление 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 номер страницы с наибольшим значением должен быть напечатан первым.

типовой QPrinter::PaperSize

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

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

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

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

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

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

Этот тип данных был введён в 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(QPrinter::PrinterMode mode = ScreenResolution)

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

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

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

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

[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().

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

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 и Mac.

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

QPrinter::PrinterState QPrinter::printerState() const

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

int QPrinter::resolution() const

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

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

void QPrinter::setCollateCopies(bool collate)

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

Эта функция была добавлена в 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 не указаны, используются текущие единицы.

Если включен режим Full Page, проверка 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.12/qprinter.html

Spec-Zone.ru

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