На этом шаге мы перечислим классы, используемые для организации печати.
Последнее, что мы рассмотрим в этом разделе, - инструменты PyQt5, предназначенные для печати, предварительного просмотра документов и экспорта их в формат PDF.
Любой установленный в системе принтер представляется классом QPrinter. Поскольку он является потомком класса QPagedPaintDevice, который, в свою очередь, наследует рассмотренный, начиная с 176 шага, класс QPaintDevice, мы можем для вывода документов на печать использовать методы последнего.
Класс QPrintDialog обеспечивает функциональность диалогового окна выбора принтера, а класс QPageSetupDialog - диалогового окна установки параметров страницы. Для предварительного просмотра печатаемых документов применяются классы QPrintPreviewDialog и QPrintPreviewWidget: первый выводит документ в отдельное диалоговое окно, а второй - в специализированный компонент, который мы можем использовать вместе с любыми другими изученными нами компонентами. Класс QPrinterInfo позволяет узнать параметры любого из установленных принтеров, а также выяснить, какие принтеры имеются в наличии.
Библиотека PyQt5 поддерживает и экспорт документов в формат Adobe PDF исключительно встроенными средствами, без привлечения каких бы то ни было сторонних программ. Для выполнения этой задачи служит класс QPdfWriter.
Все описанные далее классы определены в модуле QtPrintSupport, если не указано иное.
Со следующего шага мы начнем рассматривать основные средства печати.