biz-Streamマニュアル ダイレクト印刷ガイド 第3章 ダイレクト印刷を使用したアプリケーション開発の概要 3.4.1 PDFDirectPrintStreamクラス

3.4.1 PDFDirectPrintStreamクラス

PDFDirectPrintStreamクラス

PDFDirectPrintStreamはダイレクト印刷クライアントモジュールで使用する印刷データを生成するためのストリーム・クラスです。PDFDirectPrintStreamはbiz-StreamライブラリのPDF生成エンジンの出力先として指定します。印刷データを生成する際には、印刷の制御を行うために以下のものが設定できます。

名称 メソッド 引数種別 メソッド未指定時の挙動
印刷応答URL setResponseUrl 文字列 null (応答しない)
ファイル保存 setSaveFileName 文字列 null (保存しない)
プリンタ名 setPrinterName 文字列 null (クライアントのデフォルトプリンタ)
印刷ジョブ名 setJobName 文字列 「JobName_Default」がセットされる
印刷部数 setNumberOfCopy 数値 1 (1部)
出力トレイ setSelectedTray 文字列 null (自動選択)
印刷ダイアログの表示 setPrintDialog true/false false (表示しない)
ブラウザターゲット名※1 setTarget 文字列 null (指定なし)
開始ページ番号 setFromPage 数値 1 ※2
終了ページ番号 setToPage 数値 -1 ※3
パスワード指定(平文) setPassword 文字列 空文字
パスワード指定(エンコード済み) setPasswordWithEncoded 文字列 空文字
用紙サイズに合わせてページを拡大/縮小 ※4 setDoFit true/false false (実際のサイズ)
SPPファイル名を一意化 setSppNameUnified true/false true (一意化する)
  • ※1:「setTarget」メソッドはInternet Explorerでのみ有効(EdgeのIEモードでも利用不可)のため、V5.2.0以降動作サポート対象外となります。
  • ※2:PDFファイルのページ数の範囲外を指定した場合、1を指定したのと同じ挙動になります。
  • ※3:既定値の「-1」を指定すると、最終ページまで印刷できます。PDFファイルのページ数の範囲外を指定した場合、-1を指定したのと同じ挙動になります。
  • ※4:「用紙サイズに合わせてページを拡大/縮小」はAdobe Acrobat Reader の印刷ダイアログの下記赤枠の設定に該当します。
印刷ダイアログ

  1. コンストラクタ

    PDFDirectPrintStreamが持つコンストラクタは次の一つのみです。
    PDFDirectPrintStream(HttpServletResponse reseponse)

    引数名 タイプ 説明
    response HttpServletResponse ダイレクト印刷クライアントモジュールの要求をしたセッションのHTTP要求オブジェクト印刷データの送出に先立ち、コンテンツ長および、コンテンツ・タイプ(apprication/x-spp) が自動的に設定
  2. setResponseUrlメソッド

    印刷結果または発生したエラーの内容等を応答するためのURLを指定します。
    setReseponseUrl(String value)

    引数名 タイプ 説明
    value String 応答先URL
    例) http://directprint/webbs/view/direct1_1.jsp
  3. setSaveFileNameメソッド

    印刷に使用したPDFファイルをローカルに保存する場合、そのファイル名を指定します。
    setSaveFileName(String value)

    引数名 タイプ 説明
    value String 保存先のファイル名
    例) c:\sample.pdf
  4. setPrinterNameメソッド

    出力先のプリンタ名 (「コントロールパネル」の「デバイスとプリンター」で表示されるプリンタ名) を指定します。
    setPrinterName(String value)

    引数名 タイプ 説明
    value String 出力先のプリンタ名
    例) Canon LBP3800 LIPSLX

  5. setJobNameメソッド

    印刷のジョブ名称を任意の文字列で指定します。
    void setJobName(String jobName)

    引数名 タイプ 説明
    jobName String 印刷のジョブ名
    例) 給与明細
    • 印刷ジョブ名を指定した場合、出力先プリンタのジョブ一覧に表示されるジョブ名が v5 からは「C:\ProgramData\brainsellers\DirectPrint\tmp\印刷ジョブ名_年月日_時刻_連番.pdf」のようになります。ファイルパスは DirectPrintService.xml の「tmpFolderPath」に指定されているパスとなります。
    • OS のシステムロケールが UTF-8 以外の場合は印刷ジョブ名の日本語(全角や半角カナ)は文字化けします。
    例)以下をセットした場合
    ① String JobName = "JobNameTEST"
    ② String JobName = "ジョブ名テスト"
    印刷ジョブ名
  6. setNumberOfCopyメソッド

    印刷する部数を正の整数で指定します。
    setNumberOfCopy(int value)

    引数名 タイプ 説明
    value int 印刷部数 (正の整数)
  7. setSelectedTrayメソッド

    印刷に使用するトレイを指定します。指定する値はあらかじめPDFDirectPrintStreamクラスに宣言されている下記の表の定数名を使用してください。
    setSelectedTray(String value)

    引数名 タイプ 説明
    value String 出力トレイ ※(下記の表を参照)
    ※出力トレイ指定用の定数名
    定数名 説明
    PDFDirectPrintStream.TRAY_UPPER 上段のトレイ
    PDFDirectPrintStream.TRAY_MIDDLE 中段のトレイ
    PDFDirectPrintStream.TRAY_LOWER 下段のトレイ
    PDFDirectPrintStream.TRAY_MANUAL 手差しトレイ
    PDFDirectPrintStream.TRAY_AUTO 最適のトレイを自動選択

  8. setPrintDialogメソッド

    クライアント側に印刷ダイアログを表示する場合に指定します。
    setPrintDialog(boolean value)

    引数名 タイプ 説明
    value boolean true: 印刷ダイアログを表示します
    false: 印刷ダイアログを表示しません
    • このメソッドでtrue(印刷ダイアログを表示する)を指定した場合、以下のメソッドでの指定は無視されます。
        ・PDFCommonPrintStream#setNumberOfCopy(印刷部数)
        ・PDFCommonPrintStream#setFromPage(開始ページ番号)
        ・PDFCommonPrintStream#setToPage(終了ページ番号)
        ・PDFCommonPrintStream#setDoFit(ページサイズに合わせて印刷フラグ)

  9. setTargetメソッド

    印刷応答を返すブラウザウィンドウのターゲット名を指定します。使用するブラウザがMicrosoft Internet Explorerの場合にのみ有効となります。
    詳細については、「3.3 ターゲット機能を使ったダイレクト印刷」を参照してください。
    setTarget(String value)

    引数名 タイプ 説明
    value String ブラウザターゲット名
    例) brain
  10. setFromPageメソッド

    印刷するファイルの開始ページ番号を指定します。出力するPDFのページ数の範囲から外れた値を指定した場合、先頭ページを指定したことになります。
    void setFromPage(int fromPage)

    引数名タイプ説明
    fromPageint印刷ファイルの開始ページ番号
  11. setToPageメソッド

    印刷するファイルの終了ページ番号を指定します。出力するPDFのページ数の範囲から外れた値を指定した場合、最終ページを指定したことになります。
    void setToPage(int toPage)

    引数名タイプ説明
    toPageint印刷ファイルの終了ページ番号
  12. setPasswordメソッド

    ユーザパスワード(平文)をセットします。
    void setPassword(String value)

    引数名タイプ説明
    valueString平文パスワード
  13. setPasswordWithEncodedメソッド

    ユーザパスワード(base64エンコード済み)をセットします。
    void setPasswordWithEncoded(String value)

    引数名タイプ説明
    valueStringbase64エンコード済みパスワード
  14. setDoFitメソッド

    用紙サイズに合わせてページを拡大/縮小します。
    void setDoFit(boolean value)

    引数名タイプ説明
    valuebooleantrue : 選択されている用紙サイズの印刷可能領域に合わせて、ページを拡大/縮小します
    false : ページを拡大/縮小せずに印刷します。用紙に入りきらないページや領域は自動的にトリミングされます
  15. setSppNameUnifiedメソッド

    SPPファイル名を一意化するかを指定します。
    void setSppNameUnified(boolean value)

    引数名タイプ説明
    valuebooleantrue : SPPファイルの名称を一意化します
    false : ファイル名を一意化しません(サーブレット名がSPPファイル名になります)
  • 印刷位置を調整する setPrintAdjust メソッド、印刷可否を設定する setPrintDeny メソッドは、v5.0から廃止されました。