Веб-печать на нескольких принтерах

#javascript #asp.net-mvc #silverlight #printing

#javascript #asp.net-mvc #silverlight #печать

Вопрос:

Я создаю веб-приложение, которое в первую очередь ASP.NET MVC / Javascript. Приложение должно иметь возможность печатать определенное содержимое на принтере этикеток, а другое содержимое — на стандартном принтере. Я бы предпочел, чтобы пользователь мог выбирать принтер по умолчанию для каждого из них, а не всегда явно выбирать принтер.

Есть ли способ сохранить и перезагрузить какие-то настройки принтера по умолчанию для нескольких принтеров в таком приложении. Я также открыт для использования Silverlight для функций печати, если нет возможности сделать это с помощью javascript.

Ответ №1:

Не через JavaScript, нет; JS использует встроенный механизм печати браузера, который, в свою очередь, использует механизм печати ОС по умолчанию.

Ответ №2:

Я знаю, что прошло 6 лет с момента публикации этого вопроса, но поскольку на него не было ответа, вот то, что я считаю лучшим способом решения этой проблемы.

Вы по-прежнему не можете управлять принтерами из веб-браузера, но есть отличный выбор под названием QZ Tray

Вам необходимо установить программу, которая будет взаимодействовать между javascript из вашего приложения и настроенными принтерами, позволяя отправлять необработанные команды печати, а также HTML на любой принтер.

Вы также можете печатать на нескольких принтерах одновременно и сохранять всю конфигурацию и параметры принтера в своем веб-приложении, чтобы иметь полный контроль над своими принтерами.

Комментарии:

1. Лоток QZ выглядит очень многообещающе. Спасибо за этот ответ

Ответ №3:

Браузеры не позволяют javascript (или любому другому скрипту) получать доступ к информации о доступном наборе принтеров или предлагать какие-либо средства для выбора даже «предпочтительного» принтера.

Аналогично, Silverlight не поддерживает доступ к информации о наборе доступных принтеров и не позволяет API печати выбирать конкретный принтер.