Класс QPrinter
Класс QPrinter — это устройство отрисовки, которое печатает на принтере. Подробнее...
| Заголовок: | #include <QPrinter> |
| qmake: | QT += printsupport |
| Наследуется от: | QPagedPaintDevice |
Примечание: Все функции в этом классе являются повторно входящими.
Типы public
| перечисление | Режим цвета { Цвет, Градации серого } |
| перечисление | Режим двусторонней печати { Без двусторонней печати, Автоматический, Длинная сторона, Короткая сторона } |
| перечисление | Ориентация { Портрет, Альбом } |
| перечисление | Формат вывода { Собственный формат, Формат PDF } |
| перечисление | Порядок страниц { Первая страница первой, Последняя страница первой } |
| тип | Размер бумаги |
| перечисление | Источник бумаги { Автоматический, Кассета, Конверт, Ручной конверт, ..., Последний источник бумаги } |
| перечисление | Диапазон печати { Все страницы, Выделение, Диапазон страниц, Текущая страница } |
| перечисление | Режим принтера { Разрешение экрана, Разрешение принтера, Высокое разрешение } |
| перечисление | Состояние принтера { Простаивает, Активен, Прерван, Ошибка } |
| перечисление | Единицы измерения { Миллиметры, Точки, Дюймы, Пика, ..., Точки устройства } |
Public Functions
| 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
Дополнительные унаследованные члены
- 1 защищённый тип, унаследованный от QPagedPaintDevice
- 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, подготавливается к новой странице, позволяя QPainter сразу использовать её для рисования первой страницы документа. После отрисовки первой страницы можно вызвать newPage() для запроса новой пустой страницы для отрисовки или QPainter::end() для завершения печати. Вторая страница и все последующие страницы готовятся с помощью вызова newPage() перед их отрисовкой.
Первая страница документа не должна предшествовать вызову newPage(). Вам нужно вызвать newPage() только после QPainter::begin(), если вам нужно вставить пустую страницу в начало печатного документа. Аналогично, вызов newPage() после отрисовки последней страницы документа приведёт к добавлению заключительной пустой страницы в конец печатного документа.
Если вы хотите прервать задачу печати, abort() постарается остановить печать. Он может отменить всю задачу или только её часть.
Так как QPrinter может печатать на любой QPrintEngine-подклассе, возможно расширить поддержку печати, добавив новые типы печатных подсистем путём создания подклассов QPrintEngine и повторной реализации его интерфейса.
См. также QPrintDialog и Qt Print Support.
Документация по типам членов
перечисление 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 сгенерирует свой вывод как searchable PDF-файл. Этот режим является стандартным при печати в файл. |
См. также outputFormat(), setOutputFormat(), и setOutputFileName().
перечисление QPrinter::PageOrder
Этот тип перечисления используется QPrinter для указания приложениям, как печатать.
| Постоянная | Значение | Описание |
|---|---|---|
QPrinter::FirstPageFirst |
0 |
номер страницы с меньшим значением будет напечатан первым. |
QPrinter::LastPageFirst |
1 |
номер страницы с большим значением будет напечатан первым. |
typedef QPrinter::PaperSize
тип для перечисления QPagedPaintDevice::PageSize.
Этот тип перечисления определяет размер бумаги, который QPrinter должен использовать. QPrinter не проверяет, доступен ли размер бумаги; он просто использует эту информацию вместе с QPrinter::Orientation и QPrinter::setFullPage(), чтобы определить область печати.
Определённые размеры (с setFullPage(true)) находятся в QPagedPaintDevice.
При использовании 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(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 и macOS.
См. также 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/archives/qt-5.11/qprinter.html