3.3 ターゲット機能を使ったダイレクト印刷
ここでは、ターゲット機能の概要と、ターゲット機能に使用するターゲット名の設定方法について説明します。
ターゲット機能を使用して印刷指示のブラウザウィンドウに印刷応答結果を表示させる場合には、結果を返すためのブラウザウィンドウを判断するために、ターゲット名を設定する必要があります。
ターゲット機能を使用しない場合: ターゲット機能を使用した場合:
印刷応答画面が新規ウィンドウで表示 印刷指示画面と同一のウィンドウに印刷応答画面を表示
ターゲット機能の概要
ダイレクト印刷のターゲット機能とは、新しいブラウザウィンドウを開かずに、印刷指示したブラウザウィンドウに印刷応答結果を返す機能です。ターゲット機能を使用しないでダイレクト印刷を行った場合には、下図「印刷応答画面が新規ウィンドウで表示」のように、印刷指示のブラウザウィンドウに印刷応答結果を表示せず、印刷応答結果を新しいブラウザウィンドウに表示します。ターゲット機能を使用して印刷指示のブラウザウィンドウに印刷応答結果を表示させる場合には、結果を返すためのブラウザウィンドウを判断するために、ターゲット名を設定する必要があります。
印刷応答画面が新規ウィンドウで表示 印刷指示画面と同一のウィンドウに印刷応答画面を表示

- ターゲット機能が動作するブラウザはInternet Explorerのみです。
ターゲット名の設定方法
ターゲット名の設定は、以下2箇所の設定が必要となります。-
アプリケーション開発者が実装する印刷アプリケーションでPDFDirectPrintStreamクラスのsetTargetメソッドを使用してターゲット名を指定します。
以下の例は、印刷要求サンプル (DirectSrv1.java) にターゲット名 (例:"brain") を指定したものです。
例 1)PDFDirectPrintStream direct = new PDFDirectPrintStream(response); // インスタンス生成 direct.setResponseUrl("http://brain/webbs4/DirectSrv1_1"); // 印刷応答URL direct.setSaveFileName("c:/temp/direct.pdf"); // ファイル保存 direct.setPrinterName(printer); // プリンタ名 direct.setNumberOfCopy(Integer.parseInt(copy)); // 印刷部数 direct.setSelectedTray(tray); // 出力トレイ direct.setTarget("brain"); // ターゲット名
- ターゲット名に JavaScriptやHTMLで使用される予約語、特殊文字を指定すると、正常な動作ができないことがありますので、使用しないでください。
-
印刷指示するHTMLやJSPにターゲット名 (例:"brain") を指定した処理を追加します。
ターゲット名の指定方法としては、次の3つの方法があります。
【ターゲット機能使用方法1】 自ブラウザウィンドウに名前をつける
例 2)<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head> <%@ page contentType="text/html; charset=shift_jis" import="java.util.*,java.io.*,java.text.*,java.lang.*" %> <%@ page pageEncoding="Shift_JIS"%> <TITLE></TITLE> <meta content="text/html; charset=shift_jis" http-equiv=Content-Type> <script language="JavaScript"> <!-- self.name = "brain"; // --> </script> </head> <body>
- ターゲット機能を正常に動作させるためには、スクリプトを 「ON」 にする必要があります。
【ターゲット機能使用方法2】 フレーム全体構成の指定で名前をつける
例 3)<HTML> <HEAD> <TITLE></TITLE> </HEAD> <frameset rows="150,*"> <frame src = "/webbs4/result.html" name="brain"> <frame src = "/webbs4/frame.jsp" name="down"> </frameset> </HTML>
【ターゲット機能使用方法3】 新しいブラウザを開くときに名前をつける
例 4)<html> <head> <script language="JavaScript"> <!-- //印刷指示画面OPEN function bizJump(){ w = window.open("/webbs4/open_win.jsp", "brain"); } // --> </script> </head> <body> <input type="button" value="button" onClick="bizJump()"> </body> </html>
- ターゲット機能を正常に動作させるためには、スクリプトを 「ON」 にする必要があります。