印刷する前に現在のプリンターを保存し、「this.print」を呼び出した後に復元する方法はありますか?
私たちの Web アプリケーションは多くのレポートを出力します。ほとんどのレポートは、現在表示されている Web ページの iframe に生成されて表示されます。その後、ユーザーは Adobe のメニューを操作して印刷できます。
少数のレポートは、特定のプリンターに自動的に印刷する必要があります。これらのレポートを生成するときに、次の JavaScript を PDF に追加します。次に、PDF が非表示の iframe に読み込まれ、印刷されます。
var params = this.getPrintParams();
params.interactive=params.constants.interactionLevel.silent;
params.pageHandling=params.constants.handling.none;
params.printerName="LabelPrinter"
this.print(params);
これはうまく機能し、ファイルは正しいプリンターに印刷されます。
次のレポートを印刷するときに問題が発生します。ユーザーが Adobe の印刷ボタンをクリックすると、選択されたプリンターは、「this.print」を呼び出したときに設定されたプリンターになります。間違ったプリンターが選択されていて、通常のレポートがラベル プリンターに印刷されていることにユーザーが気付かない場合があります。
私は次のようなことをしたい...
var params = this.getPrintParams();
var currentPrinter = params.printerName;
params.interactive=params.constants.interactionLevel.silent;
params.pageHandling=params.constants.handling.none;
params.printerName="LabelPrinter"
this.print(params);
//set it back here by calling something like
this.SetCurrentPrinter(currentPrinter);
助けてくれてありがとう