Класс QPrinter
Класс QPrinter — это устройство рисования, предназначенное для печати на принтере. Подробнее...
| Заголовок: | #include <QPrinter> |
| qmake: | QT += printsupport |
| Наследуется от: | QPagedPaintDevice |
Примечание: Все функции в этом классе являются перевключёнными.
Общие типы
| Перечисление | РежимЦвета { Цвет, ГрадацииСерого } |
| Перечисление | РежимДвустороннейПечати { ДвусторонняяПечатьОтсутствует, Авто, ДлиннаяСторона, КороткаяСторона } |
| Перечисление | Ориентация { Портрет, Альбом } |
| Перечисление | ФорматВывода { СобственныйФормат, PdfФормат } |
| Перечисление | ПорядокСтраниц { ПерваяСтраницаПервой, ПоследняяСтраницаПервой } |
| Тип | РазмерБумаги |
| Перечисление | ИсточникБумаги { Авто, Кассета, Обертка, РучнаяОбертка, ..., ПоследнийИсточникБумаги } |
| Перечисление | ДиапазонПечати { ВсеСтраницы, ВыбранныйДиапазон, ДиапазонСтраниц, ТекущаяСтраница } |
| Перечисление | РежимПринтера { РазрешениеЭкрана, РазрешениеПринтера, ВысокоеРазрешение } |
| Перечисление | СостояниеПринтера { Бездействующий, Активный, Прерван, Ошибка } |
| Перечисление | ЕдиницаИзмерения { Миллиметр, Точка, Дюйм, Пика, ..., ПиксельУстройства } |
Открытые функции
| QPrinter(const QPrinterInfo &printer, QPrinter::PrinterMode mode = ScreenResolution) | |
| QPrinter(QPrinter::PrinterMode mode = ScreenResolution) | |
| virtual | ~QPrinter() |
| bool | прервать() |
| bool | объединятьКопии() const |
| QPrinter::ColorMode | режимЦветов() const |
| int | количествоКопий() const |
| QString | создатель() const |
| QString | имяДокумента() const |
| QPrinter::DuplexMode | двустороннийПечать() const |
| bool | встраиваниеШрифтовВключено() const |
| int | сСтраницы() const |
| bool | полнаяСтраница() const |
| bool | действителен() const |
| QString | имяВыходногоФайла() const |
| QPrinter::OutputFormat | форматВывода() const |
| QPageLayout | макетСтраницы() const |
| QPrinter::PageOrder | порядокСтраниц() const |
| QRectF | прямоугольникСтраницы(QPrinter::Unit unit) const |
| QRectF | прямоугольникБумаги(QPrinter::Unit unit) const |
| QPrinter::PaperSource | источникБумаги() const |
| QPagedPaintDevice::PdfVersion | версияPdf() const |
| QPrintEngine * | печатныйДвигатель() const |
| QString | программаПечати() const |
| QPrinter::PrintRange | диапазонПечати() const |
| QString | имяПринтера() const |
| QString | параметрВыбораПринтера() const |
| QPrinter::PrinterState | состояниеПринтера() const |
| int | разрешение() const |
| void | установитьОбъединениеКопий(bool collate) |
| void | установитьРежимЦветов(QPrinter::ColorMode newColorMode) |
| void | установитьКоличествоКопий(int count) |
| void | установитьСоздателя(const QString &creator) |
| void | установитьИмяДокумента(const QString &name) |
| void | установитьДвустороннююПечать(QPrinter::DuplexMode duplex) |
| void | установитьВстраиваниеШрифтов(bool enable) |
| void | установитьССтраницыПоСтраницу(int from, int to) |
| void | установитьПолнуюСтраницу(bool fp) |
| void | установитьИмяВыходногоФайла(const QString &fileName) |
| void | установитьФорматВывода(QPrinter::OutputFormat format) |
| bool | установитьМакетСтраницы(const QPageLayout &newLayout) |
| bool | установитьПоляСтраницы(const QMarginsF &margins) |
| bool | установитьПоляСтраницы(const QMarginsF &margins, QPageLayout::Unit units) |
| void | установитьПорядокСтраниц(QPrinter::PageOrder pageOrder) |
| bool | установитьОриентациюСтраницы(QPageLayout::Orientation orientation) |
| bool | установитьРазмерБумаги(const QPageSize &pageSize) |
| void | установитьИсточникБумаги(QPrinter::PaperSource source) |
| void | установитьВерсиюPdf(QPagedPaintDevice::PdfVersion version) |
| void | установитьПрограммуПечати(const QString &printProg) |
| void | установитьДиапазонПечати(QPrinter::PrintRange range) |
| void | установитьИмяПринтера(const QString &name) |
| void | установитьПараметрВыбораПринтера(const QString &option) |
| void | установитьРазрешение(int dpi) |
| QList<QPrinter::PaperSource> | поддерживаемыеИсточникиБумаги() const |
| QList<int> | поддерживаемыеРазрешения() const |
| bool | поддерживаетНесколькоКопий() const |
| int | доСтраницы() const |
Реализованные Публичные Функции
| virtual bool | новаяСтраница() override |
| virtual QPaintEngine * | paintEngine() const override |
(obsolete) virtual void |
setMargins(const QPagedPaintDevice::Margins &m) override |
(obsolete) virtual void |
setPageSize(QPagedPaintDevice::PageSize newPageSize) override |
(obsolete) virtual void |
setPageSizeMM(const QSizeF &size) override |
Protected Functions
| void | setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine) |
Detailed Description
Это устройство представляет собой серию страниц печатного вывода и используется почти таким же образом, как и другие устройства рисования, такие как QWidget и QPixmap. Предоставлен набор дополнительных функций для управления функциями, специфичными для устройства, такими как ориентация и разрешение, а также для перехода к страницам документа по мере его генерации.
При печати непосредственно на принтер в Windows или macOS QPrinter использует встроенные драйверы принтеров. В X11 QPrinter использует Common Unix Printing System (CUPS) для отправки PDF-вывода на принтер. В качестве альтернативы функция printProgram() может быть использована для указания команды или утилиты, которые следует использовать вместо системных по умолчанию.
Обратите внимание, что установка параметров, таких как размер бумаги и разрешение на недействительном принтере, не определена. Вы можете использовать QPrinter::isValid(), чтобы проверить это перед изменением каких-либо параметров.
QPrinter поддерживает ряд параметров, большинство из которых могут быть изменены конечным пользователем через диалог печати. В целом, QPrinter передает эти функции на базовую QPrintEngine.
Наиболее важные параметры:
- setOrientation() сообщает QPrinter, какую ориентацию страницы использовать.
- setPaperSize() сообщает QPrinter, какой размер бумаги ожидать от принтера.
- setResolution() сообщает QPrinter, какое разрешение (в точках на дюйм) вы хотите получить от принтера.
- setFullPage() сообщает QPrinter, хотите ли вы обработать всю страницу или только ту её часть, которую принтер может нарисовать.
- setCopyCount() сообщает QPrinter, сколько копий документа он должен распечатать.
Многие из этих функций могут быть вызваны только до начала фактической печати (т. е. до вызова QPainter::begin()). Обычно это имеет смысл, потому что, например, изменить количество копий невозможно, когда вы находитесь на середине печати. Также есть некоторые настройки, которые устанавливает пользователь (через диалог принтера), и от которых приложения должны подчиняться. Для получения более подробной информации см. документацию QAbstractPrintDialog.
При вызове QPainter::begin(), QPrinter, с которым он работает, готовится к новой странице, что позволяет использовать QPainter сразу для рисования первой страницы документа. После того, как первая страница была нарисована, можно вызвать newPage(), чтобы запросить новую пустую страницу для рисования, или QPainter::end(), чтобы завершить печать. Вторая страница и все последующие страницы подготавливаются с помощью вызова newPage() перед их рисованием.
Первая страница документа не должна предваряться вызовом newPage(). Вам нужно вызвать newPage() только после вызова QPainter::begin(), если необходимо вставить пустую страницу в начало печатного документа. Аналогично, вызов newPage() после того, как нарисована последняя страница документа, приведет к добавлению пустой страницы в конце печатного документа.
Если вы хотите прервать задачу печати, abort() сделает все возможное, чтобы остановить печать. Она может отменить всю задачу или только часть ее.
Поскольку QPrinter может печатать на любой подклассе QPrintEngine, возможно расширить поддержку печати, чтобы охватить новые типы систем печати, наследовав от QPrintEngine и переопределив его интерфейс.
См. также QPrintDialog и Qt Поддержка печати.
Документация по типам членов
перечисление QPrinter::ColorMode
Это перечисление используется для указания, должен ли QPrinter печатать в цвете или нет.
| Постоянная | Значение | Описание |
|---|---|---|
QPrinter::Color |
1 |
печатать в цвете, если доступно, в противном случае в оттенках серого. |
QPrinter::GrayScale |
0 |
печатать в оттенках серого, даже на цветных принтерах. |
перечисление QPrinter::DuplexMode
Это перечисление используется для указания, будет ли печать производиться на одной или обеих сторонах каждого листа бумаги (простая или двусторонняя печать).
| Постоянная | Значение | Описание |
|---|---|---|
QPrinter::DuplexNone |
0 |
Печать только на одной стороне (простая). |
QPrinter::DuplexAuto |
1 |
Используется значение по умолчанию принтера для определения, используется ли двусторонняя печать. |
QPrinter::DuplexLongSide |
2 |
Для печати используется обе стороны каждого листа бумаги. Бумага переворачивается по длинной стороне перед печатью второй стороны. |
QPrinter::DuplexShortSide |
3 |
Для печати используется обе стороны каждого листа бумаги. Бумага переворачивается по короткой стороне перед печатью второй стороны. |
Это перечисление было введено или изменено в Qt 4.4.
перечисление QPrinter::Orientation
Этот тип перечисления (не путать с Orientation) используется для указания ориентации каждой страницы.
| Постоянная | Значение | Описание |
|---|---|---|
QPrinter::Portrait |
0 |
высота страницы больше ее ширины. |
QPrinter::Landscape |
1 |
ширина страницы больше ее высоты. |
Этот тип взаимодействует с QPrinter::PaperSize и QPrinter::setFullPage() для определения окончательного размера страницы, доступной для приложения.
перечисление QPrinter::OutputFormat
Перечисление OutputFormat используется для описания формата, который QPrinter должен использовать для печати.
| Постоянная | Значение | Описание |
|---|---|---|
QPrinter::NativeFormat |
0 |
QPrinter будет печатать вывод с помощью метода, определенного платформой, на которой он работает. Этот режим является значением по умолчанию при печати непосредственно на принтер. |
QPrinter::PdfFormat |
1 |
QPrinter будет генерировать вывод в виде поискового файла PDF. Этот режим является значением по умолчанию при печати в файл. |
См. также outputFormat(), setOutputFormat(), и setOutputFileName().
перечисление QPrinter::PageOrder
Этот тип перечисления используется QPrinter для того, чтобы сообщить прикладному программному обеспечению, как печатать.
| Постоянная | Значение | Описание |
|---|---|---|
QPrinter::FirstPageFirst |
0 |
номер страницы с наименьшим номером должна быть напечатана первой. |
QPrinter::LastPageFirst |
1 |
номер страницы с наибольшим номером должна быть напечатана первой. |
typedef QPrinter::PaperSize
тип для перечисления QPagedPaintDevice::PageSize.
Это перечисление определяет, какой размер бумаги должен использовать QPrinter. QPrinter не проверяет, доступен ли размер бумаги; он просто использует эту информацию вместе с QPrinter::Orientation и QPrinter::setFullPage() для определения печатаемой области.
Определенные размеры (с setFullPage(true)) находятся в QPagedPaintDevice.
END_OF_DOCUMENT_MARKERПри использовании setFullPage(false) (по умолчанию) метрики будут немного меньше; насколько — зависит от используемого принтера.
По историческим причинам QPageSize::Executive не совпадает со стандартным размером Postscript и Windows Executive. Используйте QPageSize::ExecutiveStandard вместо него.
Стандартный размер Postscript QPageSize::Folio отличается от размера Windows DMPAPER_FOLIO. Используйте стандартный размер Postscript QPageSize::FanFoldGermanLegal, если это необходимо.
Этот typedef был добавлен в Qt 4.4.
enum QPrinter::PaperSource
Этот перечисление определяет, какой источник бумаги должен использовать QPrinter. QPrinter не проверяет, доступен ли источник бумаги; он просто использует эту информацию для попытки установить источник бумаги. Будет ли установлен источник бумаги, зависит от того, есть ли у принтера этот конкретный источник.
Предупреждение: В настоящее время это реализовано только для Windows.
| Константа | Значение | Описание |
|---|---|---|
QPrinter::Auto |
6 |
|
QPrinter::Cassette |
11 |
|
QPrinter::Envelope |
4 |
|
QPrinter::EnvelopeManual |
5 |
|
QPrinter::FormSource |
12 |
|
QPrinter::LargeCapacity |
10 |
|
QPrinter::LargeFormat |
9 |
|
QPrinter::Lower |
1 |
|
QPrinter::MaxPageSource |
13 |
Устарело, используйте LastPaperSource вместо него |
QPrinter::Middle |
2 |
|
QPrinter::Manual |
3 |
|
QPrinter::OnlyOne |
0 |
|
QPrinter::Tractor |
7 |
|
QPrinter::SmallFormat |
8 |
|
QPrinter::Upper |
OnlyOne |
|
QPrinter::CustomSource |
14 |
Источник бумаги, определенный принтером, неизвестный Qt |
QPrinter::LastPaperSource |
CustomSource |
Наибольшее допустимое значение PaperSource, в настоящее время CustomSource |
enum QPrinter::PrintRange
Используется для указания опции выбора диапазона печати.
| Константа | Значение | Описание |
|---|---|---|
QPrinter::AllPages |
0 |
Все страницы должны быть напечатаны. |
QPrinter::Selection |
1 |
Должна быть напечатана только выделенная область. |
QPrinter::PageRange |
2 |
Должен быть напечатан указанный диапазон страниц. |
QPrinter::CurrentPage |
3 |
Должна быть напечатана только текущая страница. |
См. также setPrintRange(), printRange() и QAbstractPrintDialog::PrintRange.
enum QPrinter::PrinterMode
Это перечисление описывает режим работы принтера. В основном это предварительно устанавливает определенное разрешение и режим работы.
| Константа | Значение | Описание |
|---|---|---|
QPrinter::ScreenResolution |
0 |
Устанавливает разрешение устройства печати на разрешение экрана. Это имеет большое преимущество, так как результаты, полученные при рисовании на принтере, более или менее точно соответствуют видимому выводу на экране. Это проще в использовании, так как метрики шрифтов на экране и на принтере одинаковы. Это значение по умолчанию. ScreenResolution даст вывод более низкого качества, чем HighResolution, и должен использоваться только для черновиков. |
QPrinter::PrinterResolution |
1 |
Это значение устарело. Оно эквивалентно ScreenResolution в Unix и HighResolution в Windows и Mac. Из-за различий между ScreenResolution и HighResolution использование этого значения может привести к непереносимому коду принтера. |
QPrinter::HighResolution |
2 |
В Windows устанавливает разрешение принтера на заданное для используемого принтера. Для печати PDF устанавливает разрешение драйвера PDF до 1200 точек на дюйм. |
Примечание: При отрисовке текста на устройстве QPrinter важно понимать, что размер текста, указанный в пунктах, не зависит от разрешения самого устройства. Поэтому может быть полезно указать размер шрифта в пикселях при объединении текста с графикой, чтобы убедиться, что их относительные размеры соответствуют вашим ожиданиям.
enum QPrinter::PrinterState
| Константа | Значение |
|---|---|
QPrinter::Idle |
0 |
QPrinter::Active |
1 |
QPrinter::Aborted |
2 |
QPrinter::Error |
3 |
enum QPrinter::Unit
Этот тип перечисления используется для указания единиц измерения для размеров страниц и бумаги.
| Константа | Значение |
|---|---|
QPrinter::Millimeter |
0 |
QPrinter::Point |
1 |
QPrinter::Inch |
2 |
QPrinter::Pica |
3 |
QPrinter::Didot |
4 |
QPrinter::Cicero |
5 |
QPrinter::DevicePixel |
6 |
Обратите внимание на разницу между Point и DevicePixel. Единица Point определена как 1/72 часть дюйма, а единица DevicePixel зависит от разрешения и основана на фактических пикселях или точках на принтере.
Это перечисление было добавлено или изменено в Qt 4.4.
Документация функций-членов
QPrinter::QPrinter(const QPrinterInfo &printer, QPrinter::PrinterMode mode = ScreenResolution)
Создает новый объект принтера с заданным printer и mode.
Эта функция была добавлена в Qt 4.4.
QPrinter::QPrinter(QPrinter::PrinterMode mode = ScreenResolution)
Создает новый объект принтера с заданным mode.
[virtual] QPrinter::~QPrinter()
Удаляет объект принтера и освобождает все выделенные ресурсы. Если принтер уничтожается во время выполнения задания печати, это может или не может повлиять на задание печати.
bool QPrinter::abort()
Прерывает текущую печать. Возвращает true если выполнение печати было прервано успешно, и printerState() вернёт QPrinter::Aborted; в противном случае возвращает false.
Не всегда возможно прервать задание печати. Например, все данные отправлены на принтер, но принтер не может или не хочет отменить задание при запросе.
bool QPrinter::collateCopies() const
Возвращает true если сортировка включена при выборе нескольких копий. Возвращает false если она выключена при выборе нескольких копий. Когда сортировка выключена, печать каждой отдельной страницы будет повторяться numCopies() раз, прежде чем начнется следующая страница. При включенной сортировке все страницы печатаются до начала следующей копии этих страниц.
Эта функция была добавлена в Qt 4.1.
См. также setCollateCopies().
QPrinter::ColorMode QPrinter::colorMode() const
Возвращает текущий режим цвета.
См. также setColorMode().
int QPrinter::copyCount() const
Возвращает количество копий, которые будут распечатаны. Значение по умолчанию — 1.
Эта функция была добавлена в Qt 4.7.
См. также setCopyCount() и supportsMultipleCopies().
QString QPrinter::creator() const
Возвращает имя приложения, которое создало документ.
См. также setCreator().
QString QPrinter::docName() const
Возвращает имя документа.
См. также setDocName() и QPrintEngine::PrintEnginePropertyKey.
QPrinter::DuplexMode QPrinter::duplex() const
Возвращает текущий режим дуплексной печати.
Эта функция была добавлена в Qt 4.4.
См. также setDuplex().
bool QPrinter::fontEmbeddingEnabled() const
Возвращает true если включено встраивание шрифтов.
Эта функция была добавлена в Qt 4.1.
См. также setFontEmbeddingEnabled().
int QPrinter::fromPage() const
Возвращает номер первой страницы в диапазоне страниц для печати ("номер начальной страницы"). Страницы документа нумеруются в соответствии с тем, что первая страница — страница 1.
По умолчанию эта функция возвращает специальное значение 0, означающее, что параметр "номер начальной страницы" не задан.
Примечание: Если fromPage() и toPage() оба возвращают 0, это означает, что будет напечатан весь документ.
Эта функция была добавлена в Qt 4.1.
См. также setFromTo() и toPage().
bool QPrinter::fullPage() const
Возвращает true если начало системы координат принтера находится в углу страницы, и false, если оно находится на краю печатаемой области.
См. setFullPage() для получения подробностей и замечаний.
См. также setFullPage() и pageLayout().
bool QPrinter::isValid() const
Возвращает true если выбранный в настоящее время принтер является допустимым принтером в системе или чистым PDF-принтером; в противном случае возвращает false.
Для обнаружения других ошибок проверьте результат вызова QPainter::begin() или QPrinter::newPage().
QPrinter printer;
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName("/foobar/nonwritable.pdf");
QPainter painter;
if (! painter.begin(&printer)) { // failed to open file
qWarning("failed to open file, is it writable?");
return 1;
}
painter.drawText(10, 10, "Test");
if (! printer.newPage()) {
qWarning("failed in flushing page to disk, disk full?");
return 1;
}
painter.drawText(10, 10, "Test 2");
painter.end(); Эта функция была добавлена в Qt 4.4.
См. также setPrinterName().
[override virtual] bool QPrinter::newPage()
Переопределяет: QPagedPaintDevice::newPage().
Указывает принтеру вытолкнуть текущую страницу и продолжить печать на новой странице. Возвращает true если это успешно; в противном случае возвращает false.
Вызов newPage() для неактивного объекта QPrinter всегда завершится неудачей.
QString QPrinter::outputFileName() const
Возвращает имя выходного файла. По умолчанию это пустая строка (что указывает, что принтер не должен печатать в файл).
См. также setOutputFileName() и QPrintEngine::PrintEnginePropertyKey.
QPrinter::OutputFormat QPrinter::outputFormat() const
Возвращает формат вывода для этого принтера.
Эта функция была добавлена в Qt 4.1.
См. также setOutputFormat().
QPageLayout QPrinter::pageLayout() const
Возвращает текущий макет страницы. Используйте этот метод для доступа к текущему QPageSize, QPageLayout::Orientation, QMarginsF, fullPageRect() и paintRect().
Обратите внимание, что вы не можете использовать установщики на возвращаемом объекте, вы должны либо вызвать методы QPrinter, либо setPageLayout().
Эта функция была добавлена в Qt 5.3.
См. также setPageLayout(), setPageSize(), setPageOrientation() и setPageMargins().
QPrinter::PageOrder QPrinter::pageOrder() const
Возвращает текущий порядок страниц.
Порядок страниц по умолчанию — FirstPageFirst.
См. также setPageOrder().
QRectF QPrinter::pageRect(QPrinter::Unit unit) const
Возвращает прямоугольник страницы в единицах unit; он обычно меньше, чем paperRect(), так как страница обычно имеет поля между своими границами и бумагой.
Эта функция была добавлена в Qt 4.4.
См. также paperSize().
[override virtual] QPaintEngine *QPrinter::paintEngine() const
Переопределяет: QPaintDevice::paintEngine() const.
Возвращает движок отрисовки, используемый принтером.
QRectF QPrinter::paperRect(QPrinter::Unit unit) const
Возвращает прямоугольник бумаги в единицах unit; он обычно больше, чем pageRect().
Эта функция была добавлена в Qt 4.4.
См. также pageRect().
QPrinter::PaperSource QPrinter::paperSource() const
Возвращает источник бумаги принтера. Это Manual или поддон или кассета для бумаги принтера.
См. также setPaperSource().
QPagedPaintDevice::PdfVersion QPrinter::pdfVersion() const
Возвращает версию PDF для этого принтера. По умолчанию — PdfVersion_1_4.
Эта функция была добавлена в Qt 5.10.
См. также setPdfVersion().
QPrintEngine *QPrinter::printEngine() const
Возвращает движок печати, используемый принтером.
Эта функция была добавлена в Qt 4.1.
QString QPrinter::printProgram() const
Возвращает имя программы, которая отправляет вывод печати на принтер.
По умолчанию возвращается пустая строка; это означает, что QPrinter попытается поступить умно с учетом системы. Только на X11 вы можете задать другое значение, чтобы использовать определенную программу печати. На других платформах возвращается пустая строка.
См. также setPrintProgram() и setPrinterSelectionOption().
QPrinter::PrintRange QPrinter::printRange() const
Возвращает диапазон страниц QPrinter. После открытия диалога настройки печати эта функция возвращает значение, выбранное пользователем.
Эта функция была добавлена в Qt 4.1.
См. также setPrintRange().
QString QPrinter::printerName() const
Возвращает имя принтера. Это значение изначально устанавливается как имя принтера по умолчанию.
См. также setPrinterName().
QString QPrinter::printerSelectionOption() const
Возвращает строку выбора параметров принтера. Это полезно только в том случае, если команда печати была явно установлена.
Значение по умолчанию (пустая строка) подразумевает, что принтер должен выбираться в зависимости от системы.
Любое другое значение подразумевает, что должно использоваться заданное значение.
Эта функция всегда возвращает пустую строку в Windows и macOS.
См. также setPrinterSelectionOption() и setPrintProgram().
QPrinter::PrinterState QPrinter::printerState() const
Возвращает текущее состояние принтера. Это может быть не всегда точным (например, если принтер не имеет возможности сообщать об этом состоянии операционной системе).
int QPrinter::resolution() const
Возвращает предполагаемую текущую разрешающую способность принтера, установленную с помощью setResolution() или драйвером принтера.
См. также setResolution().
void QPrinter::setCollateCopies(bool collate)
Устанавливает значение по умолчанию для флажка сортировки при появлении диалога печати. Если collate равно true, он включит setCollateCopiesEnabled(). Значение по умолчанию — false. Это значение будет изменено тем, что пользователь нажимает в диалоговом окне печати.
Эта функция была добавлена в Qt 4.1.
См. также collateCopies().
void QPrinter::setColorMode(QPrinter::ColorMode newColorMode)
Устанавливает цветовой режим принтера в newColorMode, который может быть либо Color, либо GrayScale.
См. также colorMode().
void QPrinter::setCopyCount(int count)
Устанавливает количество копий, которые нужно распечатать, в count.
Драйвер принтера считывает это значение и печатает указанное количество копий.
Эта функция была добавлена в Qt 4.7.
См. также copyCount() и supportsMultipleCopies().
void QPrinter::setCreator(const QString &creator)
Устанавливает имя приложения, создавшего документ, в creator.
Эта функция применима только к X11 версии Qt. Если имя создателя не указано, оно будет установлено в «Qt» и какой-то номер версии.
См. также creator().
void QPrinter::setDocName(const QString &name)
Устанавливает имя документа в name.
В X11 имя документа используется, например, в качестве имени файла по умолчанию в QPrintDialog. Обратите внимание, что имя документа не влияет на имя файла, если принтер печатает в файл. Для этого используйте функцию setOutputFile().
См. также docName() и QPrintEngine::PrintEnginePropertyKey.
void QPrinter::setDuplex(QPrinter::DuplexMode duplex)
Включает двустороннюю печать на основе режима duplex.
Эта функция была добавлена в Qt 4.4.
См. также duplex().
[protected] void QPrinter::setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine)
Эта функция используется подклассами QPrinter для указания пользовательских двигателей печати и отрисовки (соответственно, printEngine и paintEngine).
QPrinter не перенимает владения над движками, поэтому вам необходимо самостоятельно управлять этими экземплярами двигателей.
Обратите внимание, что изменение двигателей сбросит состояние принтера и все его свойства.
Эта функция была добавлена в Qt 4.1.
См. также printEngine(), paintEngine() и setOutputFormat().
void QPrinter::setFontEmbeddingEnabled(bool enable)
Включает или отключает встраивание шрифтов в зависимости от enable.
Эта функция была добавлена в Qt 4.1.
См. также fontEmbeddingEnabled().
void QPrinter::setFromTo(int from, int to)
Устанавливает диапазон страниц, которые нужно распечатать, охватывая страницы с номерами, указанными from и to, где from соответствует первой странице в диапазоне, а to — последней.
Примечание: Страницы в документе нумеруются в соответствии с соглашением, что первая страница — страница 1. Однако, если from и to оба установлены в 0, будет напечатан весь документ.
Эта функция в основном используется для установки значения по умолчанию, которое пользователь может изменить в диалоге печати при вызове setup().
Эта функция была добавлена в Qt 4.1.
См. также fromPage() и toPage().
void QPrinter::setFullPage(bool fp)
Если fp истинно, то поддерживается рисование по всей странице; в противном случае рисование ограничивается печатаемой областью, сообщенной устройством.
По умолчанию печать по всей странице отключена. В этом случае начало координатной системы QPrinter совпадает с верхним левым углом печатаемой области.
Если печать по всей странице включена, начало координатной системы QPrinter совпадает с верхним левым углом самого листа бумаги. В этом случае метрики устройства (device metrics) будут сообщать о таких же размерах, как и указано в PaperSize. Возможно, не удастся напечатать на всем физическом листе из-за полей принтера, поэтому приложение должно учитывать поля самостоятельно.
См. также fullPage(), pageLayout(), setPageSize(), width() и height().
void QPrinter::setOutputFileName(const QString &fileName)
Устанавливает имя выходного файла в fileName.
Установка нулевого или пустого имени (0 или "") отключает печать в файл. Установка непустого имени включает печать в файл.
Это может изменить значение outputFormat(). Если имя файла имеет суффикс ".pdf", генерируется PDF. Если имя файла имеет другой суффикс, чем ".pdf", используемый формат вывода — тот, который задан с помощью setOutputFormat().
QPrinter использует кроссплатформенные движки Qt для печати PDF. Если вы можете сгенерировать этот формат напрямую, например, macOS может генерировать PDF из своего движка печати, установите формат вывода обратно в NativeFormat.
См. также outputFileName() и setOutputFormat().
void QPrinter::setOutputFormat(QPrinter::OutputFormat format)
Устанавливает формат вывода для этого принтера в format.
Если format имеет то же значение, что и в настоящее время установлено, то никаких изменений не будет.
Если format — NativeFormat, то printerName будет установлено на принтер по умолчанию. Если нет допустимых принтеров, то никаких изменений не будет. Если вы хотите установить NativeFormat со специфическим printerName, используйте setPrinterName().
Эта функция была добавлена в Qt 4.1.
См. также outputFormat() и setPrinterName().
bool QPrinter::setPageLayout(const QPageLayout &newLayout)
Устанавливает макет страницы в newLayout.
Если newLayout не подходит для текущего принтера, макет страницы не будет изменён. Например, если размер страницы не поддерживается принтером или поля выходят за пределы печатаемой области.
Возвращает true, если макет страницы был успешно установлен в newLayout.
Эта функция была добавлена в Qt 5.3.
См. также pageLayout(), setPageSize(), setPageOrientation() и setPageMargins().
bool QPrinter::setPageMargins(const QMarginsF &margins)
Устанавливает поля страницы в margins, используя текущие единицы. Возвращает true, если поля страницы были успешно установлены.
См. также pageLayout() и setPageLayout().
bool QPrinter::setPageMargins(const QMarginsF &margins, QPageLayout::Unit units)
Устанавливает поля страницы в margins в заданных units. Если units не указаны, используются текущие единицы.
Если режим Полная страница включен, проверка на margins не выполняется, в противном случае margins должны находиться внутри печатаемой области для размера страницы на текущем принтере.
Для получения текущих полей страницы используйте pageLayout().pageMargins().
Возвращает true, если поля страницы были успешно установлены в margins.
Эта функция была добавлена в Qt 5.3.
См. также pageLayout() и setPageLayout().
void QPrinter::setPageOrder(QPrinter::PageOrder pageOrder)
Устанавливает порядок страниц в pageOrder.
Порядок страниц может быть QPrinter::FirstPageFirst или QPrinter::LastPageFirst. Приложение должно считывать порядок страниц и печатать соответственно.
Эта функция в основном полезна для установки значения по умолчанию, которое пользователь может изменить в диалоге печати.
Эта функция поддерживается только в X11.
См. также pageOrder().
bool QPrinter::setPageOrientation(QPageLayout::Orientation orientation)
Устанавливает ориентацию страницы в QPageLayout::Portrait или QPageLayout::Landscape.
Драйвер принтера считывает это значение и печатает страницу с указанной ориентацией.
В Windows и Mac эту опцию можно изменить во время печати, и она вступит в силу с следующего вызова newPage().
Чтобы получить текущую QPageLayout::Orientation, используйте pageLayout().pageOrientation().
Возвращает true, если ориентация страницы успешно установлена в orientation.
Эта функция была добавлена в Qt 5.3.
См. также pageLayout() и setPageLayout().
bool QPrinter::setPageSize(const QPageSize &pageSize)
Устанавливает размер страницы на pageSize.
Если pageSize не подходит для текущего принтера, размер страницы не будет изменён.
Изменение размера страницы может повлиять на текущие поля, если они выходят за пределы печатаемой области для нового размера страницы на текущем принтере.
Чтобы получить текущий QPageSize, используйте pageLayout().pageSize().
Возвращает true, если размер страницы успешно установлен в pageSize.
Эта функция была добавлена в Qt 5.3.
См. также pageSize(), pageLayout() и setPageLayout().
void QPrinter::setPaperSource(QPrinter::PaperSource source)
Устанавливает параметр источника бумаги на source.
Только Windows: эту опцию можно изменить во время печати, и она вступит в силу с следующего вызова newPage()
См. также paperSource().
void QPrinter::setPdfVersion(QPagedPaintDevice::PdfVersion version)
Устанавливает версию PDF для этого принтера на version.
Если version совпадает с текущим значением, никаких изменений не будет.
Эта функция была добавлена в Qt 5.10.
См. также pdfVersion().
void QPrinter::setPrintProgram(const QString &printProg)
Устанавливает имя программы, которая должна выполнить задание печати, на printProg.
В X11 эта функция устанавливает программу для вызова с PDF-выводом. На других платформах она не оказывает влияния.
См. также printProgram().
void QPrinter::setPrintRange(QPrinter::PrintRange range)
Устанавливает опцию диапазона печати в range.
Эта функция была добавлена в Qt 4.1.
См. также printRange().
void QPrinter::setPrinterName(const QString &name)
Устанавливает имя принтера на name.
Если name пустая, формат вывода будет установлен в PdfFormat.
Если name не является корректным именем принтера, изменений не будет.
Если name является корректным именем принтера, формат вывода будет установлен в NativeFormat.
См. также printerName(), isValid() и setOutputFormat().
void QPrinter::setPrinterSelectionOption(const QString &option)
Устанавливает принтер, использующий option для выбора принтера. option по умолчанию равно null (что подразумевает, что Qt должен уметь правильно угадать), но может быть установлено в другие значения для использования конкретной опции выбора принтера.
Если опция выбора принтера изменена, когда принтер активен, текущее задание печати может быть или не быть затронуто.
Эта функция не влияет на Windows или Mac.
См. также printerSelectionOption() и setPrintProgram().
void QPrinter::setResolution(int dpi)
Запрашивает печать на принтере с разрешением dpi или максимально приближённым к нему.
Этот параметр влияет на систему координат, возвращаемую, например, QPainter::viewport().
Эта функция должна быть вызвана до QPainter::begin(), чтобы иметь эффект на всех платформах.
См. также resolution() и setPaperSize().
QList<QPrinter::PaperSource> QPrinter::supportedPaperSources() const
Возвращает поддерживаемые форматы бумаги для этого принтера.
Значения могут соответствовать одному из элементов перечисления QPrinter::PaperSource или быть значениями, специфичными для драйвера. Значения, специфичные для драйвера, больше, чем константа DMBIN_USER, объявленная в wingdi.h.
Предупреждение: Эта функция доступна только в Windows.
QList<int> QPrinter::supportedResolutions() const
Возвращает список разрешений (целые числа точек на дюйм), которые поддерживает принтер.
В X11, где вся печать выполняется непосредственно в PDF, эта функция всегда возвращает список из одного элемента, содержащий только разрешение PDF, т.е., 72 (72 dpi — но см. PrinterMode).
bool QPrinter::supportsMultipleCopies() const
Возвращает true если принтер поддерживает печать нескольких копий одного документа в одном задании; в противном случае возвращается false.
На большинстве систем эта функция возвращает true. Однако на системах X11, которые не поддерживают CUPS, эта функция возвращает false. Это означает, что приложение должно обрабатывать количество копий, печатая один и тот же документ необходимое количество раз.
Эта функция была добавлена в Qt 4.7.
См. также setCopyCount() и copyCount().
int QPrinter::toPage() const
Возвращает номер последней страницы в диапазоне страниц, которые нужно напечатать (параметр "до страницы"). Страницы в документе нумеруются в соответствии с соглашением, что первая страница — это страница 1.
По умолчанию эта функция возвращает специальное значение 0, означающее, что параметр "до страницы" не установлен.
Примечание: Если fromPage() и toPage() оба возвращают 0, это означает, что будет напечатан весь документ.
Разработчик отвечает за чтение этого параметра и печать соответственно.
Эта функция была добавлена в Qt 4.1.
См. также setFromTo() и fromPage().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qprinter.html