Я работаю над веб-проектом, в котором мне нужно иметь возможность напрямую общаться с принтером моего клиента. Клиент использует мое приложение через браузер и хочет, чтобы у вас была возможность щелкнуть по кнопке, чтобы печатать билеты без перерывов, что означает, что в браузере не появляется диалоговое окно принтера. Это требование устраняет многие традиционные способы отправки информации на принтер клиента, и поскольку я хочу, чтобы решение, которое будет работать в любом браузере, не будет работать с решениями, использующими VBSCRIPT или другие зависящие от браузера решения.Отправка команд на удаленный принтер
Моим первоначальным решением этой проблемы было создание Java-апплета, который динамически загружался на страницу при нажатии кнопки «Печать». Тем не менее, браузеры, такие как Chrome, и вскоре Firefox устраняет поддержку NPAPI, что ломает мой Java-плагин.
Текущее решение, над которым я работаю, - создать службу на C#, которую пользователь устанавливает локально на своей машине, а затем, когда клиент нажимает кнопку «Печать», мой сервер напрямую связывается с этой службой. Таким образом, я могу обойти ограничения браузера, а служба, запущенная на машине клиента, будет иметь полный доступ для связи с целевым принтером. Недостатком этого подхода является то, что теперь пользователю необходимо установить дополнительный бит программного обеспечения на своем компьютере, и для каждой машины, на которую они хотят получить доступ к моему приложению и распечатать, на этой машине должны быть настроены правильные настройки переадресации портов и брандмауэра , Я могу сделать эту работу для моего текущего клиента, но с будущими клиентами это становится проблемой. Кроме того, мой новый подход в настоящее время поддерживает только машины Windows, и если будущие клиенты используют OS X или Linux, мне нужно будет перенести эту службу.
Неужели кто-нибудь сталкивался с этой проблемой раньше или есть какие-либо идеи о том, как связаться с принтером клиента, который не зависит от браузера?