モジュール java.desktop
パッケージ java.awt.print

クラスPrinterJob


  • public abstract class PrinterJob
    extends Object
    PrinterJobクラスは、印刷を制御する主要なクラスです。 アプリケーションはこのクラスのメソッドを呼び出して、ジョブを設定し、必要に応じて印刷のダイアログを呼び出し、そのあとジョブのページを印刷します。
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      PrinterJob()
      PrinterJobオブジェクトは、getPrinterJob staticメソッドを使用して作成するようにしてください。
    • メソッドのサマリー

      修飾子と型 メソッド 説明
      abstract void cancel()
      実行中の印刷ジョブを取り消します。
      PageFormat defaultPage()
      新しいPageFormatのインスタンスを生成し、デフォルトのサイズと印刷方向に設定します。
      abstract PageFormat defaultPage​(PageFormat page)
      PageFormat引数を複製し、その複製を変更してデフォルトのページ・サイズと印刷方向を記述します。
      abstract int getCopies()
      印刷する部数を返します。
      abstract String getJobName()
      印刷するドキュメントの名前を返します。
      PageFormat getPageFormat​(PrintRequestAttributeSet attributes)
      このジョブの現在のPrintServiceでサポートされる値と一致する値(つまり、getPrintService()で返される値)、およびattributesに格納されたメディア、印刷可能領域、印刷方向を使用して、PageFormatを計算します。
      static PrinterJob getPrinterJob()
      初期状態でデフォルト・プリンタに関連付けられたPrinterJobを作成して返します。
      PrintService getPrintService()
      この印刷ジョブのサービス(プリンタ)を返します。
      abstract String getUserName()
      印刷を行うユーザーの名前を返します。
      abstract boolean isCancelled()
      印刷ジョブが実行中であり、次の機会に取り消される予定の場合はtrue、そうでない場合はfalseを返します。
      static PrintService[] lookupPrintServices()
      2D印刷サービスを検索する簡易メソッドです。
      static StreamPrintServiceFactory[] lookupStreamPrintServices​(String mimeType)
      2Dグラフィックスの描画が可能なストリーム印刷サービスのファクトリを検出する簡易メソッドです。
      abstract PageFormat pageDialog​(PageFormat page)
      PageFormatのインスタンスを変更するためのダイアログを表示します。
      PageFormat pageDialog​(PrintRequestAttributeSet attributes)
      共通プラットフォームのページ設定ダイアログを表示する簡易メソッドです。
      abstract void print()
      ページのセットを印刷します。
      void print​(PrintRequestAttributeSet attributes)
      属性セットの設定を使用してページのセットを印刷します。
      abstract boolean printDialog()
      ユーザーに対して、印刷ジョブのプロパティを変更するためのダイアログを表示します。
      boolean printDialog​(PrintRequestAttributeSet attributes)
      共通プラットフォームのすべてのサービスに対する印刷ダイアログを表示する簡易メソッドです。Pageableインタフェースを使用して2Dグラフィックスの印刷が可能です。
      abstract void setCopies​(int copies)
      印刷する部数を設定します。
      abstract void setJobName​(String jobName)
      印刷するドキュメントの名前を設定します。
      abstract void setPageable​(Pageable document)
      documentに対して、ページ数や、Pageableのインスタンス(document)に保持されている各ページのPageFormatおよびPrintableを問い合わせます。
      abstract void setPrintable​(Printable painter)
      ページを描画するためにpainterを呼び出します。
      abstract void setPrintable​(Printable painter, PageFormat format)
      指定されたformatでページを描画するためにpainterを呼び出します。
      void setPrintService​(PrintService service)
      このPrinterJobを新しいPrintServiceに関連付けます。
      abstract PageFormat validatePage​(PageFormat page)
      このPrinterJobの現在のプリンタと互換性があるように調整された設定を持つ、pageの複製を返します。
    • コンストラクタの詳細

      • PrinterJob

        public PrinterJob()
        PrinterJobオブジェクトは、getPrinterJob staticメソッドを使用して作成するようにしてください。
    • メソッドの詳細

      • getPrinterJob

        public static PrinterJob getPrinterJob()
        初期状態でデフォルト・プリンタに関連付けられたPrinterJobを作成して返します。 システムでプリンタが使用できない場合でも、PrinterJobがこのメソッドから返されます。ただし、getPrintService()nullを返し、このPrinterJobprintを呼び出すと、例外が生成される場合があります。 PrinterJobを作成する前に適切なプリンタがあるかどうかを判別する必要があるアプリケーションは、lookupPrintServicesから返された配列が空でないことを確認する必要があります。
        戻り値:
        新しいPrinterJob
        例外:
        SecurityException - セキュリティ・マネージャが存在し、セキュリティ・マネージャのSecurityManager.checkPrintJobAccess()メソッドにより、このスレッドでの出力ジョブ要求の作成が禁止されている場合
      • lookupPrintServices

        public static PrintService[] lookupPrintServices()
        2D印刷サービスを検索する簡易メソッドです。 このメソッドから返されたサービスは、印刷サービスをサポートするPrinterJobにインストールできます。 このメソッドの呼出しは、Pageable DocFlavorを指定してPrintServiceLookup.lookupPrintServices()を呼出すことと同等です。
        戻り値:
        2D印刷サービスの空の可能性がある配列
        導入されたバージョン:
        1.4
      • lookupStreamPrintServices

        public static StreamPrintServiceFactory[] lookupStreamPrintServices​(String mimeType)
        2Dグラフィックスの描画が可能なストリーム印刷サービスのファクトリを検出する簡易メソッドです。 使用例:
        
         FileOutputStream outstream;
         StreamPrintService psPrinter;
         String psMimeType = "application/postscript";
         PrinterJob pj = PrinterJob.getPrinterJob();
        
         StreamPrintServiceFactory[] factories =
             PrinterJob.lookupStreamPrintServices(psMimeType);
         if (factories.length > 0) {
             try {
                 outstream = new File("out.ps");
                 psPrinter =  factories[0].getPrintService(outstream);
                 // psPrinter can now be set as the service on a PrinterJob
                 pj.setPrintService(psPrinter)
             } catch (Exception e) {
                 e.printStackTrace();
             }
         }
         
        このメソッドから返されたサービスは、印刷サービスをサポートするPrinterJobインスタンスにインストールできます。 このメソッドの呼出しは、Pageable DocFlavorを指定してStreamPrintServiceFactory.lookupStreamPrintServiceFactories()を呼出すことと同等です。
        パラメータ:
        mimeType - 要求された出力形式、またはnull (任意の形式を意味)。
        戻り値:
        出荷時の2D印刷サービス・ストリームが空の可能性がある配列
        導入されたバージョン:
        1.4
      • getPrintService

        public PrintService getPrintService()
        この印刷ジョブのサービス(プリンタ)を返します。 印刷サービスをサポートしないこのクラスの実装はnullを返します。プリンタを利用できない場合もnullが返されます。
        戻り値:
        この印刷ジョブのサービス。
        導入されたバージョン:
        1.4
        関連項目:
        setPrintService(PrintService), getPrinterJob()
      • setPrintService

        public void setPrintService​(PrintService service)
                             throws PrinterException
        このPrinterJobを新しいPrintServiceに関連付けます。 このメソッドはPrint Serviceの指定をサポートするサブクラスにオーバーライドされます。 指定されたサービスが、2D印刷のサポートに必要なPageableおよびPrintableインタフェースをサポートできない場合はPrinterExceptionをスローします。
        パラメータ:
        service - 2D印刷をサポートする印刷サービス
        例外:
        PrinterException - 指定されたサービスが2D印刷をサポートしない場合、またはこのPrinterJobクラスが2D印刷サービスの設定をサポートしない場合、またはこれ以外の場合で指定されたサービスが有効な印刷サービスではない場合。
        導入されたバージョン:
        1.4
        関連項目:
        getPrintService()
      • setPrintable

        public abstract void setPrintable​(Printable painter)
        ページを描画するためにpainterを呼び出します。 このPrinterJobによって印刷されるドキュメント内のページは、painterで指定されたPrintableオブジェクトによって描画されます。 各ページのPageFormatは、デフォルトのページ書式になります。
        パラメータ:
        painter - ドキュメントの各ページを描画するPrintable
      • setPrintable

        public abstract void setPrintable​(Printable painter,
                                          PageFormat format)
        指定されたformatでページを描画するためにpainterを呼び出します。 このPrinterJobによって印刷されるドキュメント内のページは、painterで指定されたPrintableオブジェクトによって描画されます。 各ページのPageFormatは、formatです。
        パラメータ:
        painter - ドキュメントの各ページを描画するために呼び出すPrintable
        format - 印刷される各ページのサイズと印刷方向
      • setPageable

        public abstract void setPageable​(Pageable document)
                                  throws NullPointerException
        documentに対して、ページ数や、Pageableのインスタンス(document)に保持されている各ページのPageFormatおよびPrintableを問い合わせます。
        パラメータ:
        document - 印刷されるページ。 nullであってはならない。
        例外:
        NullPointerException - 渡されたPageablenullだった。
        関連項目:
        PageFormatPrintable
      • printDialog

        public abstract boolean printDialog()
                                     throws HeadlessException
        ユーザーに対して、印刷ジョブのプロパティを変更するためのダイアログを表示します。 このメソッドは、ネイティブな印刷サービスが選択されている場合はネイティブ・ダイアログを表示し、ユーザーのプリンタの選択はこれらのネイティブな印刷サービスに制限されます。 共通プラットフォームのネイティブ印刷サービスを含むすべてのサービスに対する印刷ダイアログを表示するには、代わりにprintDialog(PrintRequestAttributeSet)を使用します。

        PrintServiceの印刷ダイアログを使用できるPrinterJobの実装により、このPrinterJobに対するPrintServiceが更新されユーザーが選択するサービスが反映されます。

        戻り値:
        ユーザーがダイアログを取り消さない場合はtrue、そうでない場合はfalse
        例外:
        HeadlessException - GraphicsEnvironment.isHeadless()がtrueを返した場合。
        関連項目:
        GraphicsEnvironment.isHeadless()
      • printDialog

        public boolean printDialog​(PrintRequestAttributeSet attributes)
                            throws HeadlessException
        共通プラットフォームのすべてのサービスに対する印刷ダイアログを表示する簡易メソッドです。Pageableインタフェースを使用して2Dグラフィックスの印刷が可能です。 印刷ダイアログが初期状態で表示されたときに選択したプリンタは、この印刷ジョブに現在接続されている印刷サービスを反映します。 ユーザーが印刷サービスを変更する場合、ユーザーが印刷ダイアログを取り消さないかぎり、PrinterJobが更新されて変更を反映します。 ユーザーは出力先プリンタの選択とともに、さまざまな印刷要求属性の値を選択することもできます。

        属性パラメータon inputは、アプリケーションが要求するユーザー・ダイアログでの初期選択を反映します。 属性が指定されない場合は、印刷サービスのデフォルトの属性を使用して表示されます。 属性パラメータon returnは、ユーザーの選択を反映します。 選択は、現在選択されている印刷サービスがサポートする値と一致するように更新されます。

        ユーザーがスクロールして新しい印刷サービスを選択すると、値のコピーは、ユーザーの任意の変更とともに直前のサービスの設定に基づいて行われます。 この値のコピーは、クライアントが指定した元の設定に基づいて行われるわけではありません。

        プリンタの選択の例外として、PrinterJobの状態がユーザーの変更を反映して更新されない場合があります。 プリンタの選択によって印刷ジョブを更新できるようにするには、print(PrintRequestAttributeSet)メソッドの呼出しで属性を指定する必要があります。 Pageableインタフェースを使用している場合、ユーザーが選択したメディアを使用する予定のクライアントはユーザーの選択から派生するPageFormatを作成する必要があります。 ユーザーが印刷ダイアログを取り消した場合は、属性はユーザーが行った変更を反映しません。

        パラメータ:
        attributes - on inputは属性が提供するアプリケーションである。on outputはユーザーの選択によって内容が更新される。 このパラメータはnullにはならない。
        戻り値:
        ユーザーがダイアログを取り消さない場合はtrue、そうでない場合はfalse
        例外:
        HeadlessException - GraphicsEnvironment.isHeadless()がtrueを返した場合。
        NullPointerException - attributesパラメータがnullの場合。
        導入されたバージョン:
        1.4
        関連項目:
        GraphicsEnvironment.isHeadless()
      • pageDialog

        public abstract PageFormat pageDialog​(PageFormat page)
                                       throws HeadlessException
        PageFormatのインスタンスを変更するためのダイアログを表示します。 引数pageは、ページ設定ダイアログのコントロールを初期化するために使用されます。 ユーザーがダイアログを取り消すと、このメソッドは元のpageオブジェクトを変更しないで返します。 ユーザーがダイアログを了解すると、このメソッドは変更内容を示す新しいPageFormatを返します。 どちらの場合にも、元のpageオブジェクトは変更されません。
        パラメータ:
        page - 変更のためにユーザーに対して表示されるデフォルトのPageFormat
        戻り値:
        ダイアログがキャンセルされた場合は、元のpageオブジェクト。ダイアログが受け入れられた場合は、ユーザーが指定した形式を含む新しいPageFormatオブジェクト。
        例外:
        HeadlessException - GraphicsEnvironment.isHeadless()がtrueを返した場合。
        導入されたバージョン:
        1.2
        関連項目:
        GraphicsEnvironment.isHeadless()
      • pageDialog

        public PageFormat pageDialog​(PrintRequestAttributeSet attributes)
                              throws HeadlessException
        共通プラットフォームのページ設定ダイアログを表示する簡易メソッドです。 有効な選択は、このPrinterJobに現在設定されている印刷ジョブを反映します。

        属性パラメータon inputは、クライアントが要求するユーザー・ダイアログでの初期選択を反映します。 属性が指定されない場合は、印刷サービスのデフォルトの属性を使用して表示されます。 属性パラメータon returnは、ユーザーの選択を反映します。 選択は、現在選択されている印刷サービスがサポートする値と一致するように更新されます。

        戻り値はPrintRequestAttributeSetでの選択と同等のPageFormatです。 ユーザーがダイアログを取り消した場合、属性はユーザーが行った変更を反映しません。戻り値はnullです。

        パラメータ:
        attributes - on inputは属性が提供するアプリケーションである。on outputはユーザーの選択によって内容が更新される。 このパラメータはnullにはならない。
        戻り値:
        ユーザーがダイアログを取り消さない場合はページ書式、そうでない場合はnull
        例外:
        HeadlessException - GraphicsEnvironment.isHeadless()がtrueを返した場合。
        NullPointerException - attributesパラメータがnullの場合。
        導入されたバージョン:
        1.4
        関連項目:
        GraphicsEnvironment.isHeadless()
      • defaultPage

        public abstract PageFormat defaultPage​(PageFormat page)
        PageFormat引数を複製し、その複製を変更してデフォルトのページ・サイズと印刷方向を記述します。
        パラメータ:
        page - 複製および変更されるPageFormat
        戻り値:
        デフォルトのPageFormatを記述するために変更されたpageの複製。
      • defaultPage

        public PageFormat defaultPage()
        新しいPageFormatのインスタンスを生成し、デフォルトのサイズと印刷方向に設定します。
        戻り値:
        デフォルトのサイズと向きに設定されたPageFormat
      • getPageFormat

        public PageFormat getPageFormat​(PrintRequestAttributeSet attributes)
        このジョブの現在のPrintServiceでサポートされる値と一致する値(つまり、getPrintService()で返される値)、およびattributesに格納されたメディア、印刷可能領域、印刷方向を使用して、PageFormatを計算します。

        このメソッドを呼び出しても、ジョブは更新されません。 このメソッドは、クライアントがprintDialog(PrintRequestAttributeSet attributes)から取得した属性のセットを持ち、Pageableオブジェクトを印刷するためにPageFormatが必要な場合に便利です。

        パラメータ:
        attributes - 印刷属性のセット。たとえばprintDialogを呼び出すことで取得される。 attributesがnullの場合、デフォルトのPageFormatが返される。
        戻り値:
        現在のサービスの設定および指定された属性と一致した設定を持つPageFormat
        導入されたバージョン:
        1.6
      • validatePage

        public abstract PageFormat validatePage​(PageFormat page)
        このPrinterJobの現在のプリンタと互換性があるように調整された設定を持つ、pageの複製を返します。 たとえば、返されたPageFormatは、現在のプリンタが使用している用紙の物理的領域内に収まるように調整されたイメージング可能領域を持つことができます。
        パラメータ:
        page - 複製され、その設定が現在のプリンタと互換性を持つように変更されたPageFormat
        戻り値:
        pageから複製され、このPrinterJobに合わせて設定が変更されたPageFormat
      • print

        public void print​(PrintRequestAttributeSet attributes)
                   throws PrinterException
        属性セットの設定を使用してページのセットを印刷します。 デフォルトの実装は属性セットを無視します。

        いくつかの属性は、同等のメソッド呼び出し、(例えば)、copiesによって直接PrinterJobに設定されることに注意してください: setCopies(int)、ジョブ名: setJobName(String)およびPageFormatオブジェクトを使用してメディアのサイズと向きを指定します。

        サポートされる属性値がこの属性セットに指定されている場合は、このprint()オペレーションの場合だけAPI設定より優先されます。 次に述べる動作はPageFormatに対して指定されます。クライアントがPrintableインタフェースを使用している場合、このメソッドに対するattributesパラメータは、メディア・サイズ、印刷方向、およびイメージング可能領域を指定する属性が検査され、これらはPrintableオブジェクトのprint()メソッドに渡される新しいPageFormatを構築するために使用されます。 PrinterJobによる最適な印刷に必要なPrintableの動作については、Printableを参照してください。 Pageableインタフェースを使用するクライアントの場合、PageFormatは常にこのインタフェースにより1ページごとに提供されます。

        これらの動作により、アプリケーションはprintDialog(PrintRequestAttributeSet attributesから返されるユーザー設定を、直接このprint()メソッドに渡せるようになります。

        パラメータ:
        attributes - ジョブの属性のセット
        例外:
        PrinterException - 印刷システムのエラーが原因でジョブが停止した。
        導入されたバージョン:
        1.4
        関連項目:
        BookPageablePrintable
      • setCopies

        public abstract void setCopies​(int copies)
        印刷する部数を設定します。
        パラメータ:
        copies - 印刷する部数
        関連項目:
        getCopies()
      • getCopies

        public abstract int getCopies()
        印刷する部数を返します。
        戻り値:
        印刷する部数。
        関連項目:
        setCopies(int)
      • getUserName

        public abstract String getUserName()
        印刷を行うユーザーの名前を返します。
        戻り値:
        印刷を行うユーザーの名前
        例外:
        SecurityException - セキュリティ・マネージャが存在し、PropertyPermission - user.nameはポリシー・ファイルで指定されていません
      • setJobName

        public abstract void setJobName​(String jobName)
        印刷するドキュメントの名前を設定します。 ドキュメントの名前にnullを指定することはできません。
        パラメータ:
        jobName - 印刷するドキュメントの名前
        関連項目:
        getJobName()
      • getJobName

        public abstract String getJobName()
        印刷するドキュメントの名前を返します。
        戻り値:
        印刷するドキュメントの名前
        関連項目:
        setJobName(java.lang.String)
      • cancel

        public abstract void cancel()
        実行中の印刷ジョブを取り消します。 printが呼び出されていても、まだ復帰していない状態のときは、このメソッドはジョブを次の機会に取り消すように通知します。 実行中の印刷ジョブがない場合には、何も行いません。
      • isCancelled

        public abstract boolean isCancelled()
        印刷ジョブが実行中であり、次の機会に取り消される予定の場合はtrue、そうでない場合はfalseを返します。
        戻り値:
        実行中のジョブが取り消される予定の場合はtrue、そうでない場合はfalse