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()はQPrinterに、プリンタに期待する解像度をドット/インチ(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 | 各用紙の両面が印刷に使用されます。用紙の最短辺を裏返してから両面印刷を行います。 |
enum QPrinter::OutputFormat
OutputFormat enum は、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 | Qt が知らない、プリンタによって定義された PaperSource。 |
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とMacではHighResolutionと同等です。ScreenResolutionとHighResolutionの違いにより、この値を使用すると移植性のないプリンタコードになる可能性がある。 |
QPrinter::HighResolution | 2 | Windowsでは、プリンタの解像度を、使用中のプリンタに定義されている解像度に設定します。PDF印刷の場合は、PDFドライバの解像度を1200dpiに設定します。 |
注: 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単位は解像度に依存し、プリンタ上の実際のピクセル(ドット)に基づいている。
メンバー関数ドキュメント
[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()
現在の印刷実行を中止する。false
印刷が正常に中止された場合はtrue
を返し、printerState() はQPrinter::Aborted を返す。
印刷ジョブを中止できるとは限りません。例えば、すべてのデータがプリンタに送られたにもかかわらず、プリンタがジョブをキャンセルできない、またはキャンセルしようとしない場合などです。
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
frompage関数は、印刷するページの範囲("from page "設定)の最初のページの番号を返します。ドキュメントのページ番号は、最初のページが1ページ目であるという慣習に従って付けられます。
デフォルトでは、この関数は "from page "設定が未設定であることを意味する特別な値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() の出力をチェックしてください。
QPrinterprinter; printer.setOutputFormat(QPrinter::PdfFormat); printer.setOutputFileName("/foobar/nonwritable.pdf"); QPainterpainter;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
プリンタオプション選択文字列を返す。これは、印刷コマンドが明示的に設定されている場合にのみ有用である。
デフォルト値(空文字列)は、システム依存の方法でプリンタを選択することを意味します。
それ以外の値は、指定された値を使用することを意味します。
この関数は、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 にのみ適用されます。Creator名が指定されない場合、Creatorには "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 のサブクラスがカスタム印刷エンジンとカスタム塗装エンジン(それぞれ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 ページ目を 1 ページ目 と す る 慣例に従っ て付け ら れます。し か し 、from とto の両方が 0 に設定 さ れてい る と き は、文書全体が印刷 さ れます。
この関数は主に、setup()を呼び出したときに印刷ダイアログでユーザーが上書きできるデフォルト値を設定するために使用されます。
fromPage()、toPage()、pageRanges()も参照 。
void QPrinter::setFullPage(bool fp)
fp そうでない場合は、デバイスによって報告された印刷可能領域に制限されます。
デフォルトでは、全ページ印刷は無効です。この場合、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プリントエンジンを使用します。このフォーマットをネイティブに生成できる場合、例えば macOS がそのプリントエンジンから PDF を生成できる場合、出力フォーマットを に戻してください。NativeFormat
outputFileName() およびsetOutputFormat()も参照して ください。
void QPrinter::setOutputFormat(QPrinter::OutputFormat format)
このプリンタの出力フォーマットをformat に設定します。
format が現在設定されている値と同じ場合、変更は行われない。
format がNativeFormat の場合、printerName がデフォルト・プリンタに設定される。有効なプリンタが設定されていない場合、変更は行われません。特定のprinterName でNativeFormat を設定したい場合は、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)
印刷範囲オプション in を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 enumのエントリと一致する値か、ドライバ固有の値のどちらかになります。ドライバ固有の値は、wingdi.hで宣言された定数DMBIN_USERより大きい。
警告 この関数はウィンドウズでのみ使用可能です。
QList<int> QPrinter::supportedResolutions() const
プリンタがサポートしていると言っている解像度のリスト (ドット/インチの整数のリスト) を返します。
すべての印刷が PDF に直接行われる X11 では、この関数は常に PDF の解像度、すなわち 72 (72 dpi - ただしPrinterMode を参照) だけを含む 1 項目のリストを返します。
bool QPrinter::supportsMultipleCopies() const
プリンタが同一ドキュメントの複数部数の印刷をサポートしている場合はtrue
を返し、そうでない場合は false を返します。
そうでなければfalseを返す。しかし、CUPSをサポートしていないX11システムでは、この関数はfalseを返す。つまり、アプリケーションは、同じドキュメントを必要な回数印刷することで、部数を処理しなければならない。
setCopyCount() およびcopyCount()も参照の こと。
int QPrinter::toPage() const
to page関数は、印刷するページの範囲("to page "設定)の最後のページの番号を返します。ドキュメントのページ番号は、最初のページが1ページ目であるという慣例に従って付けられます。
デフォルトでは、この関数は特別な値0を返し、これは "to page "設定が未設定であることを意味する。
注意: fromPage() と toPage() がともに 0 を返す場合、これは文書全体が印刷されることを示す。
プログラマは、この設定を読み取り、それに従って印刷する責任を負う。
setFromTo()、fromPage()、pageRanges()も参照 。
© 2025 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.