在WebSphere门户上,我尝试使用JasperReport打印功能。
JasperPrintManager.printReport(jasperPrint, true);
这种方式适用于WAS和localhost。 但是当我在远程服务器上部署应用程序时,没有出现打印对话框,也没有完成打印工作。 虽然我已经使用JavaPrint服务查找所有打印机,然后选择一个打印任务,但它甚至没有那样工作。
答案 0 :(得分:0)
您的解决方案适用于localhost,因为您的客户端和服务器是同一台计算机。因此,在服务器端调用打印命令将使其看起来像是从客户端打印。
但您不希望它在服务器上打印。您希望客户端的浏览器以可打印格式访问报表。常见的格式是PDF。
正如@AlexK在评论中提到的,关于如何做到这一点,已经存在多个其他问题(有答案)。
我在portlet中完成此操作的建议是在portlet视图中有一个按钮,该按钮将调用serveResourceURL
并下载PDF版本的报告。 serveResource
方法专为此类情况而设计,其中开发人员需要提供HTML以外的内容。