Запуск печати веб-страницы со стороны сервера

#java #javascript #printing

#java #javascript #печать

Вопрос:

Этот вопрос может быть очень простым. До сих пор я думал, что команда для печати веб-страницы может быть инициирована только на стороне клиента.

(window.print при использовании javascript)

Но я наткнулся http://juixe.com/techknow/index.php/2008/01/17/print-a-pdf-document-in-java / в котором говорится о печати с использованием Java. Я думаю, что это, похоже, связано с каким-то настольным клиентом, и то же самое может быть невозможно в веб-клиенте. Кто-нибудь может подтвердить и объяснить это?

Ответ №1:

Вы не можете выполнить код на стороне сервера на клиенте, поэтому единственный способ сделать это в браузере — через javascript или с помощью плагинов / flash / java-апплетов.

Вы могли бы печатать с помощью java, но для этого java должна запускаться на клиенте.

Ответ №2:

Веб-сайт может попросить браузер открыть диалоговое окно печати (например, Google Maps делает это на странице «указания по печати»), но на самом деле он не может заставить браузер что-либо печатать. (Если бы это было возможно, вы можете быть уверены, что рекламодатели использовали бы его для печати рекламы на вашем принтере.)

Приложение Java, запущенное локально с достаточными разрешениями, может печатать, как и любое другое настольное приложение. Это не имеет ничего общего с веб-страницами.

Ответ №3:

Не путайте Java и JavaScript. При попытке использовать Java в браузере вам придется изучить использование апплетов. Java-апплет определенно можно использовать для выполнения той работы, которую обычно выполняет богатый клиент из браузера.

Java-апплеты также могут получать события, отправляемые с сервера через сокеты или какой-либо другой механизм, хотя я не уверен, позволят ли это ограничения безопасности. Также кажется немного окольным путем.

Помните, что просмотр веб-страниц зависит от клиента. В определенных инфраструктурах есть несколько моделей push (я считаю, что это возможно с использованием JavaServer Faces). Но это, вероятно, просто своего рода механизм опроса, инициируемый клиентом, который абстрагируется, чтобы выглядеть как нажатие на стороне сервера.