内部にスクリプトを含む PDF ファイルがあります。スクリプトは、ドキュメントを印刷するプリンターを変更することができます (バーコード専用のプリンターと通常のドキュメント用の別のプリンターがあるため)。問題は、プリンターをコンピューターのデフォルトにリセットする方法がわからないことです。
印刷コードは次のとおりです。
var pp = getPrintParams(); // get printing parameters
pp.interactive = pp.constants.interactionLevel.automatic; // do not prompt user
pp.printerName = 'barcode_printer'; // set printer name
this.print(pp); // print
JavaScript API リファレンス(ページ 314、583) によると、getPrintParams()
はデフォルトの印刷パラメーターを返し、 (空の文字列)pp.printerName
に設定するとデフォルトのプリンターを意味します。''
そのどれもが真実ではないことに気づきました。実際getPrintParams()
には、最後に使用されたパラメーター (新しい/デフォルトのものではない) を返し、pp.printerName = ''
プリンターをデフォルトのパラメーターにリセットせず、代わりに最後に選択されたプリンターを使用します。
さらに、PrintParams
オブジェクトは開いているさまざまなドキュメント間で共有されているように見えるgetPrintParams()
ため、実際には読み取り値がデフォルトプリンターを参照しているかどうかがわからないため、一部の変数にデフォルトプリンターの名前 (の最初の呼び出しから読み取られた)を格納できません。は他の開いているドキュメントによって既に変更されています。
この動作は、Adobe Reader (9、10、11) および Foxit Reader の異なるバージョン間で一貫しています。
プログラムでプリンターをデフォルトのプリンターにリセットする方法を教えてください。