Spec-Zone.ru › Qt 5.14

Класс QPrinter

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

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

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

Типы

Перечисление ColorMode { Цвет, ГрадацииСерого }
Перечисление DuplexMode { БезДвустороннейПечати, Автоматически, ДлинойСтороны, КороткимСтороны }
Перечисление Orientation { Портрет, Альбом }
Перечисление OutputFormat { ФорматРодной, PdfФормат }
Перечисление PageOrder { ПерваяСтраницаПервой, ПоследняяСтраницаПервой }
Тип PaperSize
Перечисление PaperSource { Авто, Кассета, Конверт, РучнойКонверт, ИсточникБланка, …, ПоследнийИсточникБумаги }
Перечисление PrintRange { ВсеСтраницы, Выделение, ДиапазонСтраниц, ТекущаяСтраница }
Перечисление PrinterMode { РазрешениеЭкрана, РазрешениеПринтера, ВысокоеРазрешение }
Перечисление PrinterState { Простой, Активный, Прерван, Ошибка }
Перечисление Unit { Миллиметр, Пункт, Дюйм, Пика, Дидо, …, ПиксельУстройства }

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

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

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

виртуальный 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

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

void setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine)

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

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

Этот 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 или 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.14/qprinter.html

Spec-Zone.ru

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