#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 печати выбирать конкретный принтер.