Восстановление выбранного принтера в Acrobat Reader после вызова this.print из javascript - PullRequest
1 голос
/ 05 октября 2010

Есть ли способ сохранить текущий принтер перед печатью и восстановить его после вызова "this.print"?

Наше веб-приложение печатает много отчетов. Большинство отчетов создаются и отображаются в фрейме на текущей просматриваемой веб-странице. Затем пользователь может печатать, взаимодействуя с меню 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);

Спасибо за вашу помощь Mike

...