Печать отчета Jasper на стороне клиента

На портале WebSphere я пытаюсь использовать функцию печати JasperReport.

 JasperPrintManager.printReport(jasperPrint, true);

Этот способ отлично работает для WAS и localhost. Но когда я развертываю приложение на удаленном сервере, диалоговое окно печати не появляется, и печать не выполняется. Хотя я использовал сервис JavaPrint для поиска всех принтеров, а затем выбрал один для печати задачи, но он даже не работает таким образом.

1 ответ

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

Но вы не хотите, чтобы он печатался на сервере. Вы хотите, чтобы браузер клиента имел доступ к отчету в печатном формате. Распространенным форматом является PDF.

Как упоминает @AlexK в комментариях, уже есть несколько других вопросов (с ответами) о том, как это сделать.

Я предлагаю сделать это в портлете, чтобы в представлении портлета была кнопка, которая будет вызывать serveResourceURL и загрузите PDF-версию отчета. serveResource Метод был разработан для таких ситуаций, когда разработчикам нужно предоставлять контент, отличный от HTML.

Другие вопросы по тегам