QPrinter Class
QPrinterクラスは、プリンターに絵を描くペイント・デバイスです。詳細...
Header: | #include <QPrinter> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS PrintSupport) target_link_libraries(mytarget PRIVATE Qt6::PrintSupport) |
qmake: | QT += printsupport |
Inherits: | QPagedPaintDevice |
- 継承メンバを含む全メンバ一覧
- QPrinterはプリンタと印刷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 | 各用紙の両面が印刷に使用されます。用紙は、第2面が印刷される前に最短辺が裏返される。 |
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()
現在の印刷実行を中止します。印刷が正常に中止された場合はtrue
を返し、printerState() はQPrinter::Aborted を返します ; それ以外の場合はfalse
を返します。
印刷ジョブを中止できるとは限りません。たとえば、すべてのデータがプリンタに送信されたが、プリンタがジョブをキャンセルするように要求してもできない、またはキャンセルしない場合などである。
bool QPrinter::collateCopies() const
複数部数を選択したときに照合順序がオンになっている場合は、true
を返す。複数部数を選択したときに照合がオフになっている場合は、false
を返す。丁合がオフの場合、各ページの印刷は、次のページを開始する前に numCopies()分だけ繰り返される。丁合をオンにすると、次のページのコピーが開始される前に、すべてのページが印刷されます。
setCollateCopies()も参照 。
QPrinter::ColorMode QPrinter::colorMode() const
現在のカラーモードを返します。
setColorMode() も参照 。
int QPrinter::copyCount() const
copy関数は、印刷部数を返します。デフォルト値は 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
fromページ番号: 印刷するページの範囲における最初のページの番号を返します (「fromページ」設定)。文書内のページは、最初のページが 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() の出力をチェックしてください。
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();
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 にのみ適用されます。作成者名が指定されない場合、作成者には "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
プ リ ン タ が同一文書の複数部数を 1 つのジョ ブで印刷す る こ と をサポー ト し てい る と き はtrue
を返し、 そ う でない と き は false を返 し ます。
そうでない場合はfalseが返される。しかし、CUPSをサポートしていないX11システムでは、この関数はfalseを返す。つまり、アプリケーションは、同じドキュメントを必要な回数印刷することで、部数を処理しなければならない。
setCopyCount() およびcopyCount()も参照のこと 。
int QPrinter::toPage() const
印刷するページの範囲("to page "設定)の最後のページの番号を返します。ドキュメントのページ番号は、最初のページを 1 ページ目とする慣例に従って付けられます。
デフォルトでは、この関数は特別な値0を返し、これは "to page "設定が未設定であることを意味する。
注意: fromPage() と toPage() がともに 0 を返す場合、これは文書全体が印刷されることを示す。
プログラマは、この設定を読み取り、それに従って印刷する責任を負う。
setFromTo(),fromPage(),pageRanges()も参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。