print

指定した印刷データを指定したプリンターに印刷します。プレビュー画面やプリンターを選択するダイアログは表示されません。

sdp.print(printData,[printerName]);

 

引数 必須 説明
printData

SVFで出力した印刷データを指定します。ファイル形式のデータとストリーム形式のデータを指定できます。
ファイル形式のデータを印刷する場合は印刷データファイルのURL、ストリーム形式のデータを印刷する場合は印刷データを返すサーブレットなどのURLを指定します。
また、GETメソッドで通信するためURLクエリーパラメーターも使用できます。

URLクエリーパラメーターの指定例
print('http://localhost:8080/webdirectprint/servlet/ExecStreamPrintServlet?key1=value1&key2=value2')
printerName
  印刷先として、クライアントPCに登録されているプリンター名を指定します。省略した場合は以下の優先順で出力先が決定されます。
  1. インスタンスのプロパティ「printerName」に指定された出力先
    インスタンスのプロパティについては、「コンストラクター」を参照してください。
  2. インスタンスのプロパティも指定されていない場合、Windowsの「通常使うプリンター」

 

Promiseオブジェクトが返却されますので、処理結果による動作の制御に利用できます。
また、JavaScript APIがPromise経由でステータスコードを返すので、ステータスコードを利用してより詳細な動作の制御も可能です。

 

ステータスコード 内容
-101 印刷エラー
-103 印刷中断
ファイル出力用プリンターへの出力時にファイル名などを指定するダイアログが閉じられた場合などが該当します。

 

  • ステータスコードを使用しない例
    印刷データ「http://localhost:8080/sample.emf」を、「サンプル文書名」という文書名でプリンター「PDFPrinter」に印刷します。
    また、印刷が成功した場合は「http://localhost:8080/end.html」に遷移し、失敗した場合は「http://localhost:8080/error.html」に遷移します。

    var sdp = new SDP();
    sdp.docName = 'サンプル文書名'; //文書名の指定
     
    var promise = sdp.print('http://localhost:8080/sample.emf','PDFPrinter')
    promise.then(function(){
        location.href = "http://localhost:8080/end.html"; //印刷成功時の処理
    }).catch(function(){
        location.href = "http://localhost:8080/error.html"; //印刷失敗時の処理
    })


  • ステータスコードを使用する例
    印刷データ「http://localhost:8080/sample.emf」を、Windowsの「通常使うプリンター」に印刷します。
    また、印刷が成功した場合はコンソール上に「success」と表示し、失敗した場合はステータスコードに対応するメッセージを表示します。

    var sdp = new SDP();
    var promise = sdp.print('http://localhost:8080/sample.emf')
    promise.then(function(res){
        console.log('success');
    }).catch(function(err){
        var status = err.response.data.status; //ステータス取得します。
        if(status === -101){
            console.log('印刷エラー');
        }else if(status === -103){
            console.log('印刷中断');
        }
    })