QPrinter Class
QPrinter クラスは、プリンタに描画を行う描画デバイスです。詳細...
| ヘッダー: | #include <QPrinter> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS PrintSupport) target_link_libraries(mytarget PRIVATE Qt6::PrintSupport) |
| qmake: | QT += printsupport |
| 継承元: | QPagedPaintDevice |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QPrinter は、Printer および Printing API の一部です。
注:このクラスのすべての関数は再入可能です。
パブリック型
| enum | ColorMode { Color, GrayScale } |
| enum | DuplexMode { DuplexNone, DuplexAuto, DuplexLongSide, DuplexShortSide } |
| enum | OutputFormat { NativeFormat, PdfFormat } |
| enum | PageOrder { FirstPageFirst, LastPageFirst } |
| enum | PaperSource { Auto, Cassette, Envelope, EnvelopeManual, FormSource, …, LastPaperSource } |
| enum | PrintRange { AllPages, Selection, PageRange, CurrentPage } |
| enum | PrinterMode { ScreenResolution, PrinterResolution, HighResolution } |
| enum | PrinterState { Idle, Active, Aborted, Error } |
| enum | Unit { Millimeter, Point, Inch, Pica, Didot, …, DevicePixel } |
パブリック関数
| QPrinter(QPrinter::PrinterMode mode = ScreenResolution) | |
| QPrinter(const QPrinterInfo &printer, QPrinter::PrinterMode mode = ScreenResolution) | |
| virtual | ~QPrinter() |
| bool | abort() |
| bool | collateCopies() const |
| QPrinter::ColorMode | colorMode() const |
| int | copyCount() const |
| QString | creator() const |
| QString | docName() const |
| QPrinter::DuplexMode | duplex() const |
| bool | fontEmbeddingEnabled() const |
| int | fromPage() const |
| bool | fullPage() const |
| bool | isValid() const |
| QString | outputFileName() const |
| QPrinter::OutputFormat | outputFormat() const |
| QPrinter::PageOrder | pageOrder() const |
| QRectF | pageRect(QPrinter::Unit unit) const |
| QRectF | paperRect(QPrinter::Unit unit) const |
| QPrinter::PaperSource | paperSource() const |
| QPagedPaintDevice::PdfVersion | pdfVersion() const |
| QPrintEngine * | printEngine() const |
| QString | printProgram() const |
| QPrinter::PrintRange | printRange() const |
| QString | printerName() const |
| QString | printerSelectionOption() const |
| QPrinter::PrinterState | printerState() const |
| int | resolution() const |
| void | setCollateCopies(bool collate) |
| void | setColorMode(QPrinter::ColorMode newColorMode) |
| void | setCopyCount(int count) |
| void | setCreator(const QString &creator) |
| void | setDocName(const QString &name) |
| void | setDuplex(QPrinter::DuplexMode duplex) |
| void | setFontEmbeddingEnabled(bool enable) |
| void | setFromTo(int from, int to) |
| void | setFullPage(bool fp) |
| void | setOutputFileName(const QString &fileName) |
| void | setOutputFormat(QPrinter::OutputFormat format) |
| void | setPageOrder(QPrinter::PageOrder pageOrder) |
| void | setPaperSource(QPrinter::PaperSource source) |
| void | setPdfVersion(QPagedPaintDevice::PdfVersion version) |
| void | setPrintProgram(const QString &printProg) |
| void | setPrintRange(QPrinter::PrintRange range) |
| void | setPrinterName(const QString &name) |
| void | setPrinterSelectionOption(const QString &option) |
| void | setResolution(int dpi) |
| QList<QPrinter::PaperSource> | supportedPaperSources() const |
| QList<int> | supportedResolutions() const |
| bool | supportsMultipleCopies() const |
| int | toPage() const |
再実装されたパブリック関数
| virtual bool | newPage() override |
| virtual QPaintEngine * | paintEngine() const override |
保護された関数
| void | setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine) |
詳細な説明
このデバイスは、一連の印刷出力ページを表しており、QWidget やQPixmap などの他のペイントデバイスとほぼ同じ方法で使用されます。向きや解像度などのデバイス固有の機能を管理したり、ドキュメントの生成に合わせてページを順次処理したりするための追加関数が用意されています。
Windows や macOS でプリンタに直接印刷する場合、QPrinter は組み込みのプリンタドライバを使用します。 X11上では、QPrinterはCommon Unix Printing System (CUPS)を使用してPDF出力をプリンタに送信します。あるいは、printProgram() 関数を使用して、システムのデフォルトの代わりに使用するコマンドやユーティリティを指定することもできます。
無効なプリンタで用紙サイズや解像度などのパラメータを設定した場合、その挙動は未定義であることに注意してください。パラメータを変更する前に、QPrinter::isValid() を使用してこれを確認することができます。
QPrinterは多数のパラメータをサポートしており、そのほとんどはエンドユーザーがprint dialog を通じて変更できます。一般的に、QPrinterはこれらの関数を基盤となるQPrintEngine に渡します。
最も重要なパラメータは以下の通りです。
- setPageLayout() は、QPrinter に対して、使用するページの向きと、プリンタから出力される予定の用紙サイズを指定します。
- setResolution() は、プリンタに提供する解像度をドット/インチ (DPI) 単位で指定します。
- setFullPage() は、ページ全体を扱うか、それともプリンタが印刷可能な領域のみを扱うかを QPrinter に指定します。
- setCopyCount() は、QPrinter にドキュメントを何部印刷すべきかを指定します。
これらの関数の多くは、実際の印刷が開始される前(つまり、QPainter::begin() が呼び出される前)にしか呼び出すことができません。これは通常、理にかなっています。例えば、印刷の途中で部数を変更することは不可能だからです。 また、ユーザーが(プリンタダイアログを通じて)設定し、アプリケーションがそれに従うことが期待される設定もいくつかあります。詳細については、QAbstractPrintDialog のドキュメントを参照してください。
QPainter::begin() が呼び出されると、その操作対象となる QPrinter は新しいページの準備が整い、QPainter を直ちに使用してドキュメントの最初のページを描画できるようになります。最初のページが描画されたら、newPage() を呼び出して描画用の新しい空白ページを要求するか、QPainter::end() を呼び出して印刷を終了することができます。 2ページ目およびそれ以降のすべてのページは、描画を行う前にnewPage()を呼び出して準備します。
ドキュメントの最初のページについては、newPage() を事前に呼び出す必要はありません。 印刷されるドキュメントの先頭に空白ページを挿入する必要がある場合にのみ、QPainter::begin() の後にnewPage() を呼び出す必要があります。同様に、ドキュメントの最終ページが描画された後にnewPage() を呼び出すと、印刷されるドキュメントの末尾に空白ページが追加されます。
印刷ジョブを中止したい場合は、abort() が印刷を停止するよう最善を尽くします。ジョブ全体がキャンセルされる場合もあれば、一部のみがキャンセルされる場合もあります。
QPrinterは任意のQPrintEngine サブクラスへの印刷に対応しているため、QPrintEngine をサブクラス化し、そのインターフェースを再実装することで、新しいタイプの印刷サブシステムに対応した印刷機能を拡張することが可能です。
QPrintDialog および Qt Print Supportを参照してください。
メンバ型のドキュメント
enum QPrinter::ColorMode
この列挙型は、QPrinter がカラーで出力するかどうかを示すために使用されます。
| 定数 | 値 | 説明 |
|---|---|---|
QPrinter::Color | 1 | 利用可能な場合はカラーで印刷し、そうでない場合はグレースケールで印刷します。 |
QPrinter::GrayScale | 0 | カラープリンタであっても、グレースケールで印刷します。 |
enum QPrinter::DuplexMode
この列挙型は、各用紙の片面または両面に印刷が行われるかどうか(片面印刷または両面印刷)を示すために使用されます。
| 定数 | 定数値 | 説明 |
|---|---|---|
QPrinter::DuplexNone | 0 | 片面(シンプレックス)印刷のみ。 |
QPrinter::DuplexAuto | 1 | 両面印刷を行うかどうかは、プリンタのデフォルト設定に基づいて決定されます。 |
QPrinter::DuplexLongSide | 2 | 各用紙の両面が印刷に使用されます。2 面目を印刷する前に、用紙は最長辺を基準に裏返されます。 |
QPrinter::DuplexShortSide | 3 | 各用紙の両面が印刷に使用されます。2面目を印刷する前に、用紙を最短の辺を軸にして裏返します。 |
enum QPrinter::OutputFormat
OutputFormat 列挙型は、QPrinter が出力を行う際に使用する形式を指定するために使用されます。
| 定数 | 値 | 説明 |
|---|---|---|
QPrinter::NativeFormat | 0 | QPrinter は、実行されているプラットフォームで定義された方法を使用して出力を印刷します。このモードは、プリンタに直接印刷する場合のデフォルトです。 |
QPrinter::PdfFormat | 1 | QPrinter は、検索可能な PDF ファイルとして出力を生成します。このモードは、ファイルへの出力時のデフォルトです。 |
outputFormat()、setOutputFormat()、およびsetOutputFileName()も参照してください 。
enum QPrinter::PageOrder
この列挙型は、QPrinter がアプリケーションプログラムに対して印刷方法を指定するために使用されます。
| 定数 | 定数 | 説明 |
|---|---|---|
QPrinter::FirstPageFirst | 0 | 番号が最も小さいページから順に印刷されます。 |
QPrinter::LastPageFirst | 1 | ページ番号が最も大きいページを最初に印刷します。 |
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 | プリンタによって定義されたPaperSourceで、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 | この値は非推奨です。プリンタの場合、Unix では ScreenResolution、Windows および macOS では HighResolution と同等です。PDF 印刷ではサポートされておらず、未定義の挙動を引き起こす可能性があります。この値を使用すると、移植性のないプリンタ用コードになる恐れがあります。 |
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 分の 1 として定義されていますが、DevicePixel 単位は解像度に依存し、プリンタの実際のピクセル(ドット)に基づいています。
メンバ関数のドキュメント
[explicit] QPrinter::QPrinter(QPrinter::PrinterMode mode = ScreenResolution)
指定されたmode を使用して、新しいプリンタオブジェクトを作成します。
[explicit] QPrinter::QPrinter(const QPrinterInfo &printer, QPrinter::PrinterMode mode = ScreenResolution)
指定されたprinter およびmode を使用して、新しいプリンタオブジェクトを作成します。
[virtual noexcept] QPrinter::~QPrinter()
プリンタオブジェクトを破棄し、割り当てられたリソースをすべて解放します。印刷ジョブが実行中のときにプリンタが破棄された場合、その印刷ジョブに影響が出る場合と出ない場合があります。
bool QPrinter::abort()
現在の印刷ジョブを中止します。印刷ジョブが正常に中止された場合はtrue を返し、printerState()はQPrinter::Aborted を返します。それ以外の場合はfalse を返します。
印刷ジョブを中止できるとは限りません。たとえば、すべてのデータがプリンタに送信済みであるにもかかわらず、プリンタが要求に応じてジョブをキャンセルできない、あるいはキャンセルしない場合があります。
bool QPrinter::collateCopies() const
「複数部印刷」が選択されている状態で「ソート」がオンになっている場合、true を返します。「複数部印刷」が選択されている状態で「ソート」がオフになっている場合、false を返します。「ソート」がオフになっている場合、各ページの印刷は、次のページの印刷が開始される前に numCopies() 回繰り返されます。「ソート」がオンになっている場合、すべてのページの印刷が完了してから、それらのページの次のコピーの印刷が開始されます。
setCollateCopies()も参照してください 。
QPrinter::ColorMode QPrinter::colorMode() const
現在のカラーモードを返します。
setColorMode()も参照してください 。
int QPrinter::copyCount() const
印刷される部数を返します。デフォルト値は 1 です。
setCopyCount() およびsupportsMultipleCopies()も参照してください 。
QString QPrinter::creator() const
そのドキュメントを作成したアプリケーションの名前を返します。
setCreator()も参照してください 。
QString QPrinter::docName() const
ドキュメント名を返します。
setDocName() およびQPrintEngine::PrintEnginePropertyKeyも参照してください 。
QPrinter::DuplexMode QPrinter::duplex() const
現在のデュプレックスモードを返します。
setDuplex()も参照してください 。
bool QPrinter::fontEmbeddingEnabled() const
フォントの埋め込みが有効になっている場合、true を返します。
setFontEmbeddingEnabled()も参照してください 。
int QPrinter::fromPage() const
印刷対象のページ範囲の最初のページ番号(「開始ページ」の設定)を返します。文書内のページは、最初のページを1ページとする慣例に従ってページ番号が振られます。
デフォルトでは、この関数は特別な値である0を返します。これは、「開始ページ」設定が設定されていないことを意味します。
注: fromPage() とtoPage() の両方が 0 を返す場合 、これはドキュメント全体が印刷されることを示します。
関連項目: setFromTo()、toPage()、およびpageRanges()。
bool QPrinter::fullPage() const
プリンタの座標系の原点がページの隅にある場合は `true ` を返し、印刷可能領域の端にある場合は `false` を返します。
詳細および注意事項については、setFullPage() を参照してください。
setFullPage() およびQPagedPaintDevice::pageLayout()も参照してください 。
bool QPrinter::isValid() const
現在選択されているプリンタが、システム上で有効なプリンタ、または純粋なPDFプリンタである場合はtrue を返し、それ以外の場合はfalse を返します。
その他のエラーを検出するには、QPainter::begin() またはQPrinter::newPage() の出力を確認してください。
QPrinter printer;
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName("/foobar/nonwritable.pdf");
QPainter painter;
if(!painter.begin(&printer)) {// ファイルを開くことに失敗しました
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();setPrinterName()も参照してください 。
[override virtual] bool QPrinter::newPage()
QPagedPaintDevice::newPage() を再実装します。
プリンタに対し、現在のページを排出させ、新しいページへの印刷を継続するよう指示します。成功した場合は `true ` を返し、失敗した場合は `false` を返します。
非アクティブなQPrinter オブジェクトに対して newPage() を呼び出すと、常に失敗します。
QString QPrinter::outputFileName() const
出力ファイルの名前を返します。デフォルトでは、これは空の文字列になります(プリンタがファイルに出力しないことを示します)。
setOutputFileName() およびQPrintEngine::PrintEnginePropertyKeyも参照してください 。
QPrinter::OutputFormat QPrinter::outputFormat() const
このプリンタの出力形式を返します。
setOutputFormat()も参照してください 。
QPrinter::PageOrder QPrinter::pageOrder() const
現在のページ順序を返します。
デフォルトのページ順序は `FirstPageFirst` です。
setPageOrder()も参照してください 。
QRectF QPrinter::pageRect(QPrinter::Unit unit) const
unit 形式でページの矩形を返します。通常、ページの境界線と用紙の間には余白があるため、この値はpaperRect() で返される値よりも小さくなります。
QPagedPaintDevice::pageLayout()も参照してください 。
[override virtual] QPaintEngine *QPrinter::paintEngine() const
QPaintDevice::paintEngine() const を再実装します。
プリンタで使用されているペイントエンジンを返します。
QRectF QPrinter::paperRect(QPrinter::Unit unit) const
unit で定義された用紙の矩形を返します。これは通常、pageRect()で返される値よりも大きくなります。
pageRect()も参照してください 。
QPrinter::PaperSource QPrinter::paperSource() const
プリンタの用紙供給元を返します。これは、Manual 、またはプリンタのトレイもしくは用紙カセットのいずれかです。
setPaperSource()も参照してください 。
QPagedPaintDevice::PdfVersion QPrinter::pdfVersion() const
このプリンタのPDFバージョンを返します。デフォルトはPdfVersion_1_4 です。
setPdfVersion()も参照してください 。
QPrintEngine *QPrinter::printEngine() const
そのプリンタで使用されているプリントエンジンを返します。
QString QPrinter::printProgram() const
プリンタに出力を行うプログラムの名前を返します。
デフォルトでは空文字列が返されます。つまり、QPrinter はシステムに依存した方法で適切な処理を行おうとします。X11環境でのみ、特定の印刷プログラムを使用するために別の値を設定することができます。その他のプラットフォームでは、空文字列が返されます。
setPrintProgram() およびsetPrinterSelectionOption()も参照してください 。
QPrinter::PrintRange QPrinter::printRange() const
QPrinter のページ範囲を返します。印刷設定ダイアログが開かれた後、この関数はユーザーが選択した値を返します。
「setPrintRange()」も参照してください 。
QString QPrinter::printerName() const
プリンタ名を返します。この値は、初期状態ではデフォルトのプリンタ名に設定されています。
setPrinterName()も参照してください 。
QString QPrinter::printerSelectionOption() const
プリンタオプションの選択文字列を返します。これは、print コマンドが明示的に設定されている場合にのみ有用です。
デフォルト値(空文字列)は、システムに依存した方法でプリンタが選択されることを意味します。
それ以外の値が指定された場合は、その値が使用されることを意味します。
この関数は、Windows および Mac では常に空の文字列を返します。
setPrinterSelectionOption() およびsetPrintProgram()も参照してください 。
QPrinter::PrinterState QPrinter::printerState() const
プリンタの現在の状態を返します。ただし、この情報は必ずしも正確とは限りません(たとえば、プリンタがオペレーティングシステムに自身の状態を報告する機能を備えていない場合など)。
int QPrinter::resolution() const
setResolution() またはプリンタドライバによって設定された、プリンタの現在の想定解像度を返します。
setResolution()も参照してください 。
void QPrinter::setCollateCopies(bool collate)
印刷ダイアログが表示された際の「並べ替え」チェックボックスのデフォルト値を設定します。collate がtrueの場合、setCollateCopiesEnabled()が有効になります。デフォルト値はfalseです。この値は、ユーザーが印刷ダイアログで選択した内容によって変更されます。
collateCopies()も参照してください 。
void QPrinter::setColorMode(QPrinter::ColorMode newColorMode)
プリンタのカラーモードをnewColorMode に設定します。この値は、Color またはGrayScale のいずれかになります。
colorMode()も参照してください 。
void QPrinter::setCopyCount(int count)
印刷部数をcount に設定します。
プリンタドライバはこの設定を読み取り、指定された部数を印刷します。
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 モードに基づいて両面印刷を有効にします。
「duplex()」も参照してください 。
[protected] void QPrinter::setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine)
この関数は、QPrinter のサブクラスによって、カスタムなprintエンジンおよびpaintエンジン(それぞれprintEngine およびpaintEngine )を指定するために使用されます。
QPrinter この関数はエンジンの所有権を取得しないため、これらのエンジンインスタンスは自身で管理する必要があります。
エンジンを変更すると、プリンタの状態とそのすべてのプロパティがリセットされることに注意してください。
printEngine()、paintEngine()、およびsetOutputFormat()も参照してください 。
void QPrinter::setFontEmbeddingEnabled(bool enable)
enable の設定に応じて、フォントの埋め込みを有効または無効にします。
fontEmbeddingEnabled()も参照してください 。
void QPrinter::setFromTo(int from, int to)
from およびto で指定されたページ番号を含む範囲を印刷対象として設定します。ここで、from はこの範囲の最初のページに、to は最後のページに対応します。
注: 文書内のページ番号は 、最初のページを 1 ページとする規則に従って付けられます。ただし、from とto の両方が 0 に設定されている場合は、文書全体が印刷されます。
この関数は主に、setup() を呼び出した際に、ユーザーが印刷ダイアログで上書きできるデフォルト値を設定するために使用されます。
fromPage()、toPage()、およびpageRanges()も参照してください 。
void QPrinter::setFullPage(bool fp)
fp が true の場合、ページ全体への描画をサポートします。そうでない場合は、デバイスが報告する印刷可能領域に描画を制限します。
デフォルトでは、全ページ印刷は無効になっています。この場合、QPrinter の座標系の原点は、印刷可能領域の左上隅と一致します。
フルページ印刷が有効になっている場合、QPrinter の座標系の原点は、用紙自体の左上隅と一致します。 この場合、device metrics は{QPageSize}で示される寸法とまったく同じ寸法を報告します。プリンタの余白のせいで、物理的なページ全体に印刷できない場合があるため、アプリケーション側で余白を考慮する必要があります。
fullPage()、QPagedPaintDevice::pageLayout()、およびQPagedPaintDevice::setPageSize()も参照してください 。
void QPrinter::setOutputFileName(const QString &fileName)
出力ファイル名を `fileName` に設定します。
名前を null または空(0 または "")に設定すると、ファイルへの出力が無効になります。空でない名前を設定すると、ファイルへの出力が有効になります。
これにより、outputFormat() の値が変更される場合があります。ファイル名に「.pdf」という拡張子がある場合、PDF が生成されます。ファイル名の拡張子が「.pdf」以外の場合、使用される出力形式は、setOutputFormat() で設定された形式となります。
QPrinter それぞれ、Qt PDFのクロスプラットフォームPDF印刷エンジンを使用します。この形式をネイティブで生成できる場合(例えば、macOSでは印刷エンジンからPDFを生成できます)、出力形式をNativeFormat に戻してください。
outputFileName() およびsetOutputFormat()も参照してください 。
void QPrinter::setOutputFormat(QPrinter::OutputFormat format)
このプリンタの出力形式を「format 」に設定します。
format が現在設定されている値と同じ場合は、変更は行われません。
format がNativeFormat の場合、printerName はデフォルトのプリンタに設定されます。有効なプリンタが設定されていない場合は、変更は行われません。NativeFormat を特定のprinterName で設定したい場合は、setPrinterName() を使用してください。
outputFormat() およびsetPrinterName()も参照してください 。
void QPrinter::setPageOrder(QPrinter::PageOrder pageOrder)
ページ順序を「pageOrder 」に設定します。
ページの順序は、QPrinter::FirstPageFirst またはQPrinter::LastPageFirst のいずれかに設定できます。アプリケーションは、ページの順序を読み取り、それに応じて印刷を行う責任があります。
この関数は主に、ユーザーが印刷ダイアログで上書きできるデフォルト値を設定するのに役立ちます。
この関数は、X11 環境でのみサポートされています。
pageOrder()も参照してください 。
void QPrinter::setPaperSource(QPrinter::PaperSource source)
用紙供給設定を「source 」に設定します。
Windowsのみ:このオプションは印刷中に変更でき、newPage()が次に呼び出された時点から有効になります。
paperSource()も参照してください 。
void QPrinter::setPdfVersion(QPagedPaintDevice::PdfVersion version)
このプリンタのPDFバージョンをversion に設定します。
version が現在設定されている値と同じ場合、変更は行われません。
pdfVersion()も参照してください 。
void QPrinter::setPrintProgram(const QString &printProg)
印刷ジョブを実行するプログラム名を「printProg 」に設定します。
X11 では、この関数は PDF 出力を渡すために呼び出すプログラムを設定します。その他のプラットフォームでは、何の効果もありません。
printProgram()も参照してください 。
void QPrinter::setPrintRange(QPrinter::PrintRange range)
印刷範囲オプションを `range` に設定します。
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 の座標、またはdpi に可能な限り近い座標で印刷するよう指示します。
この設定は、例えばQPainter::viewport() によって返される座標系に影響を与えます。
すべてのプラットフォームで効果を発揮させるには、この関数をQPainter::begin() の前に呼び出す必要があります。
resolution() およびQPagedPaintDevice::setPageSize()も参照してください 。
QList<QPrinter::PaperSource> QPrinter::supportedPaperSources() const
このプリンタでサポートされている用紙サイズを返します。
戻り値は、QPrinter::PaperSource 列挙型の項目に一致する値、またはドライバ固有の値のいずれかになります。ドライバ固有の値は、wingdi.hで宣言されている定数DMBIN_USERよりも大きい値となります。
警告:この関数は Windows でのみ利用可能です。
QList<int> QPrinter::supportedResolutions() const
プリンタがサポートしていると報告する解像度(ドット/インチ単位の整数のリスト)を返します。
すべての印刷が直接 PDF へ出力される X11 環境では、この関数は常に PDF 解像度のみを含む 1 項目のリスト、すなわち 72 (72 dpi – ただしPrinterMode を参照) を返します。
bool QPrinter::supportsMultipleCopies() const
プリンタが 1 つのジョブで同じ文書の複数部印刷をサポートしている場合は `true ` を返し、そうでない場合は `false` を返します。
ほとんどのシステムでは、この関数は true を返します。ただし、CUPS をサポートしていない X11 システムでは、この関数は false を返します。つまり、アプリケーション側で、必要な回数だけ同じ文書を印刷することで、部数を処理する必要があります。
setCopyCount() およびcopyCount()も参照してください 。
int QPrinter::toPage() const
印刷対象のページ範囲の最終ページ番号(「終了ページ」設定)を返します。文書内のページ番号は、最初のページを1ページとする規則に従って付けられます。
デフォルトでは、この関数は 0 という特別な値を返します。これは、「to page」設定が設定されていないことを意味します。
注: fromPage() と toPage() の両方が 0 を返す場合 、ドキュメント全体が印刷されることを示します。
この設定を読み取り、それに応じて印刷を行うのはプログラマーの責任です。
setFromTo()、fromPage()、およびpageRanges()も参照してください 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.