28class Q_PRINTSUPPORT_EXPORT
QPrinter :
public QPagedPaintDevice
30 Q_DECLARE_PRIVATE(QPrinter)
32 enum PrinterMode { ScreenResolution, PrinterResolution, HighResolution };
34 explicit QPrinter(PrinterMode mode = ScreenResolution);
35 explicit QPrinter(
const QPrinterInfo& printer, PrinterMode mode = ScreenResolution);
38 int devType()
const override;
40 enum PageOrder { FirstPageFirst,
43 enum ColorMode { GrayScale,
46 enum PaperSource { OnlyOne,
61 LastPaperSource = CustomSource,
65 enum PrinterState { Idle,
70 enum OutputFormat { NativeFormat, PdfFormat };
73 enum PrintRange { AllPages, Selection, PageRange, CurrentPage };
92 void setOutputFormat(OutputFormat format);
93 OutputFormat outputFormat()
const;
95 void setPdfVersion(PdfVersion version);
96 PdfVersion pdfVersion()
const;
98 void setPrinterName(
const QString &);
99 QString printerName()
const;
101 bool isValid()
const;
103 void setOutputFileName(
const QString &);
104 QString outputFileName()
const;
106 void setPrintProgram(
const QString &);
107 QString printProgram()
const;
109 void setDocName(
const QString &);
110 QString docName()
const;
112 void setCreator(
const QString &);
113 QString creator()
const;
115 void setPageOrder(PageOrder);
116 PageOrder pageOrder()
const;
118 void setResolution(
int);
119 int resolution()
const;
121 void setColorMode(ColorMode);
122 ColorMode colorMode()
const;
124 void setCollateCopies(
bool collate);
125 bool collateCopies()
const;
127 void setFullPage(
bool);
128 bool fullPage()
const;
130 void setCopyCount(
int);
131 int copyCount()
const;
132 bool supportsMultipleCopies()
const;
134 void setPaperSource(PaperSource);
135 PaperSource paperSource()
const;
137 void setDuplex(DuplexMode duplex);
138 DuplexMode duplex()
const;
140 QList<
int> supportedResolutions()
const;
142#if defined(Q_OS_WIN) || defined(Q_QDOC)
143 QList<PaperSource> supportedPaperSources()
const;
146 void setFontEmbeddingEnabled(
bool enable);
147 bool fontEmbeddingEnabled()
const;
149 QRectF paperRect(Unit)
const;
150 QRectF pageRect(Unit)
const;
152 QString printerSelectionOption()
const;
153 void setPrinterSelectionOption(
const QString &);
155 bool newPage() override;
158 PrinterState printerState()
const;
160 QPaintEngine *paintEngine()
const override;
161 QPrintEngine *printEngine()
const;
163 void setFromTo(
int fromPage,
int toPage);
164 int fromPage()
const;
167 void setPrintRange(PrintRange range);
168 PrintRange printRange()
const;
171 int metric(PaintDeviceMetric)
const override;
172 void setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine);
175 Q_DISABLE_COPY(QPrinter)
177 QScopedPointer<QPrinterPrivate> d_ptr;
179 friend class QPrintDialogPrivate;
180 friend class QAbstractPrintDialog;
181 friend class QAbstractPrintDialogPrivate;
182 friend class QPrintPreviewWidgetPrivate;
183 friend class QTextDocument;
184 friend class QPageSetupWidget;