我们的Web应用程序使用服务器端的Java Rest服务和客户端使用的angularJS . 我们正在使用Jasper报告的社区版本 . 我们现在面临的问题是如何在浏览器中显示jasper报告 . 由于浏览器中未识别适当的jasper报告查看器,因此我们实施了以下解决方案 . 服务器以html格式返回jasper报告 . 使用angular $sce.trustAsHtml() 信任html并使用 ng-bind-html 指令绑定它 . 因此,报告可以在浏览器中显示 . 创建jasper报告后,服务器将jrprint文件保存在数据库中 . 在客户端,可以选择将报告导出为PDF和EXCEL . 当用户选择导出为PDF选项时,浏览器会向服务器发送另一个请求并将jrprint文件名作为参数传递 . 服务器识别保存在数据库中的jrprint,并使用 JasperExportManager 导出为PDF . 存储在数据库中的 jrprint 文件会定期删除 .

jrprint 在导出中存储并重新使用,以确保我们在浏览器和导出的文件中显示相同的数据 . 我想知道,这种方法有什么问题吗?您知道支持通过Web浏览器查看和导出的更好方法吗?我不能使用 visualise.js ,因为这是一个社区版本 .