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 の印刷ダイアログの下記赤枠の設定に該当します。

コンストラクタ
PDFDirectPrintStreamが持つコンストラクタは次の一つのみです。
PDFDirectPrintStream(HttpServletResponse reseponse)引数名 タイプ 説明 response HttpServletResponse ダイレクト印刷クライアントモジュールの要求をしたセッションのHTTP要求オブジェクト印刷データの送出に先立ち、コンテンツ長および、コンテンツ・タイプ(apprication/x-spp) が自動的に設定 setResponseUrlメソッド
印刷結果または発生したエラーの内容等を応答するためのURLを指定します。
setReseponseUrl(String value)引数名 タイプ 説明 value String 応答先URL
例) http://directprint/webbs/view/direct1_1.jspsetSaveFileNameメソッド
印刷に使用したPDFファイルをローカルに保存する場合、そのファイル名を指定します。
setSaveFileName(String value)引数名 タイプ 説明 value String 保存先のファイル名
例) c:\sample.pdfsetPrinterNameメソッド
出力先のプリンタ名 (「コントロールパネル」の「デバイスとプリンター」で表示されるプリンタ名) を指定します。
setPrinterName(String value)引数名 タイプ 説明 value String 出力先のプリンタ名
例) Canon LBP3800 LIPSLX- 出力先のプリンタ名を指定する場合は、印刷実行ユーザにプリンタの管理権限が必要です。対象プリンタプロパティの「このプリンタの管理」を許可してください。詳細は「 第2章 ダイレクト印刷のインストールと設定 › 2.3.4 プリンタのセキュリティ設定」をご確認ください。
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 = "ジョブ名テスト"setNumberOfCopyメソッド
印刷する部数を正の整数で指定します。
setNumberOfCopy(int value)引数名 タイプ 説明 value int 印刷部数 (正の整数) - 印刷部数を指定する場合は、印刷実行ユーザにプリンタの管理権限が必要です。対象プリンタプロパティの「このプリンタの管理」を許可してください。詳細は「 第2章 ダイレクト印刷のインストールと設定 › 2.3.4 プリンタのセキュリティ設定」をご確認ください。
setSelectedTrayメソッド
印刷に使用するトレイを指定します。指定する値はあらかじめPDFDirectPrintStreamクラスに宣言されている下記の表の定数名を使用してください。
setSelectedTray(String value)引数名 タイプ 説明 value String 出力トレイ ※(下記の表を参照) 定数名 説明 PDFDirectPrintStream.TRAY_UPPER 上段のトレイ PDFDirectPrintStream.TRAY_MIDDLE 中段のトレイ PDFDirectPrintStream.TRAY_LOWER 下段のトレイ PDFDirectPrintStream.TRAY_MANUAL 手差しトレイ PDFDirectPrintStream.TRAY_AUTO 最適のトレイを自動選択 - トレイを指定する場合は、印刷実行ユーザにプリンタの管理権限が必要です。対象プリンタプロパティの「このプリンタの管理」を許可してください。詳細は「 第2章 ダイレクト印刷のインストールと設定 › 2.3.4 プリンタのセキュリティ設定」をご確認ください。
- 出力トレイはプリンタによって異なります。あらかじめお使いのプリンタ環境でトレイ名をご確認ください。
setPrintDialogメソッド
クライアント側に印刷ダイアログを表示する場合に指定します。
setPrintDialog(boolean value)引数名 タイプ 説明 value boolean true: 印刷ダイアログを表示します
false: 印刷ダイアログを表示しません- このメソッドでtrue(印刷ダイアログを表示する)を指定した場合、以下のメソッドでの指定は無視されます。
・PDFCommonPrintStream#setNumberOfCopy(印刷部数)
・PDFCommonPrintStream#setFromPage(開始ページ番号)
・PDFCommonPrintStream#setToPage(終了ページ番号)
・PDFCommonPrintStream#setDoFit(ページサイズに合わせて印刷フラグ)
- このメソッドでtrue(印刷ダイアログを表示する)を指定した場合、以下のメソッドでの指定は無視されます。
setTargetメソッド
印刷応答を返すブラウザウィンドウのターゲット名を指定します。使用するブラウザがMicrosoft Internet Explorerの場合にのみ有効となります。
詳細については、「3.3 ターゲット機能を使ったダイレクト印刷」を参照してください。
setTarget(String value)引数名 タイプ 説明 value String ブラウザターゲット名
例) brain-
setFromPageメソッド
印刷するファイルの開始ページ番号を指定します。出力するPDFのページ数の範囲から外れた値を指定した場合、先頭ページを指定したことになります。
void setFromPage(int fromPage)引数名 タイプ 説明 fromPage int 印刷ファイルの開始ページ番号 -
setToPageメソッド
印刷するファイルの終了ページ番号を指定します。出力するPDFのページ数の範囲から外れた値を指定した場合、最終ページを指定したことになります。
void setToPage(int toPage)引数名 タイプ 説明 toPage int 印刷ファイルの終了ページ番号 -
setPasswordメソッド
ユーザパスワード(平文)をセットします。
void setPassword(String value)引数名 タイプ 説明 value String 平文パスワード -
setPasswordWithEncodedメソッド
ユーザパスワード(base64エンコード済み)をセットします。
void setPasswordWithEncoded(String value)引数名 タイプ 説明 value String base64エンコード済みパスワード -
setDoFitメソッド
用紙サイズに合わせてページを拡大/縮小します。
void setDoFit(boolean value)引数名 タイプ 説明 value boolean true : 選択されている用紙サイズの印刷可能領域に合わせて、ページを拡大/縮小します
false : ページを拡大/縮小せずに印刷します。用紙に入りきらないページや領域は自動的にトリミングされます -
setSppNameUnifiedメソッド
SPPファイル名を一意化するかを指定します。
void setSppNameUnified(boolean value)引数名 タイプ 説明 value boolean true : SPPファイルの名称を一意化します
false : ファイル名を一意化しません(サーブレット名がSPPファイル名になります)
- 印刷位置を調整する setPrintAdjust メソッド、印刷可否を設定する setPrintDeny メソッドは、v5.0から廃止されました。