Печать PDF на принтер клиента без их открытия - PullRequest
2 голосов
/ 02 сентября 2011

Я работаю над веб-приложением, разработанным на Java, со структурами, работающими на Tomcat.У меня есть требование в веб-приложении:

Одна страница JSP, содержащая список файлов PDF, каждый из которых связан с флажком.Страница JSP имеет одну кнопку.Как только пользователь выбирает документы PDF, которые он хочет распечатать, установив соответствующие флажки, пользователь нажимает кнопку.

Затем все выбранные документы PDF должны быть отправлены на определенный локальный принтер (т. Е. Принтер, подключенный к клиентскому компьютеру, откуда пользователь обращается к веб-приложению).Выбранные PDF-файлы не следует открывать ни в программе Acrobat Reader, ни в браузере.Документы в формате PDF не должны быть видны пользователю при отправке на принтер.

Может ли кто-нибудь помочь мне в выполнении этого требования?

Ответы [ 3 ]

2 голосов
/ 02 сентября 2011

Это возможно с Internet Explorer и ActiveX . Ищите «автоматическая печать» и «тихая печать» с помощью Google. Для этого вам, возможно, придется снизить настройки безопасности в Internet Explorer.

Мы используем его здесь для некоторых Интранет от наших клиентов.

Для Firefox вы можете запустить диалоговое окно печати через JavaScript. (/798022/tihaya-pechat-vstroennogo-pdf) В этом случае вы можете отключить диалог печати в FF с настройкой print.always_print_silent=true в about:config.

Никогда не делал это самостоятельно, поэтому я не могу точно сказать, работает ли он так, как это делает ActiveX.

Для Chrome существует проблема, запрашивающая такую ​​же функцию, как у FF. Смотри https://code.google.com/p/chromium/issues/detail?id=31395.

0 голосов
/ 02 сентября 2011

Это невозможно с JavaScript. Это возможно с помощью Flash или Java-апплета. В любом случае вам нужно будет использовать как драйверы принтера, так и пользовательский инструментарий для чтения PDF. Для чтения PDF имеются соответствующие плагины, и оба поставляются с API печати. ​​

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

0 голосов
/ 02 сентября 2011

Для этого вам, скорее всего, придется использовать Java-апплет.Браузер не имеет встроенной возможности печатать PDF-документ.Возможно, вы сможете получить доступ к «стандартному» самому плагину Adobe, но, насколько мне известно, он не работает в стандартной среде сценариев.

Вы можете посмотреть здесь: Может ли апплет Java использовать принтер?

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

Вам также потребуется некоторая формаPDF рендер в вашем апплете (для рендеринга на принтер).Что-то вроде http://java.net/projects/pdf-renderer/, подробнее здесь: http://juixe.com/techknow/index.php/2008/01/17/print-a-pdf-document-in-java/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...