Класс 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