#java #javascript #web-applications #jsf-2 #applet
#java #javascript #веб-приложения #jsf-2 #апплет
Вопрос:
Привет, ребята, я создаю веб-приложение для печати этикеток (штрих-кодов) на Java (JSF), которое требует печати через Интернет.
Во время нашего тестирования был задан определенный сценарий: если пользователь хочет напечатать 10 копий одной и той же этикетки (штрих-кода), поле на этикетке, которое вызывает серийный номер, должно увеличиваться само. Допустим, например, последнее сгенерированное число было 100, тогда каждая метка должна иметь уникальный серийный номер — 101, 102 … 110.
Я думаю о способе вызова функции каждый раз, когда принтер печатает этикетку, или если есть какие-либо другие способы достижения этой функциональности.
Ваша помощь будет высоко оценена, и я хотел бы заранее поблагодарить вас за ваш ответ.
Ответ №1:
Из вашего браузера: предложите кнопку печати, которая обновит (javascript) страницу перед открытием диалогового окна печати (JS: window.print). Вы также можете взглянуть на OnAfterPrint (http://www.webmasterworld.com/javascript/3038993.htm , только IE), чтобы перехватить в javascript действие печати.
Другой возможный дизайн (лучше) — обрабатывать это на сервере. Это единственный способ, если вы хотите, чтобы одновременные пользователи не использовали одни и те же серийные номера. —> предложите кнопку, которая получает PDF-файл, созданный вашим сервером, с соответствующим серийным номером. Затем PDF-файл легко печатается на чистой стороне.
Конечно, вы никогда не будете уверены, что PDF-файл действительно напечатан. Но организация того, чтобы сами принтеры сообщали напрямую серверу, кажется очень сложной в организации.