早些时候,我使用了Pentaho reports,我可以使用pentaho report designer创建报告,并将.prpt文件部署到BI服务器中。它会工作得很好。
现在我正在寻找一种解决方案,我可以将.prpt文件放在一个Java程序中,并像贾斯珀报告(.jrxml文件)一样运行。因为我需要将Pentaho报告与我的web应用程序集成。
我可能在问一个非常基本的问题。但我没有找到关于这方面的适当文件。请告诉我一些正确的位置,一个示例代码将是有帮助的。
发布于 2014-04-06 16:16:38
我已经成功地将Pentaho报告引擎嵌入到我的Java应用程序中。有一个包含必要的库和示例的教程。在开始的时候,你唯一需要考虑的就是使用相同版本的五角大楼SDK,五角大楼报告引擎和五角大楼报告设计器,以避免数据源问题。如果你不想遇到依赖的麻烦,你可以下载Pentaho Report Designer,并将所有的库拖放到你的web应用程序中(大多数问题都是在你尝试使用pentaho图表时出现的,它们可以通过这种方式得到解决)。
官方五角大楼文档:
Pentaho Reporting Classic Engine Core (最好先试试这个):
http://sourceforge.net/projects/jfreereport/files/01.%20Classic%20Engine/
只需导入IDE中的所有库(我使用的是Eclipse Helios),并使用提供的示例,它将非常有用!然后,您可以根据自己的需要开始修改它。我建议您回顾一下如何处理报告的路径。
发布于 2014-02-24 09:45:59
final FacesContext context = FacesContext.getCurrentInstance();
ClassicEngineBoot.getInstance().start();
try {
// load report definition
ResourceManager manager = new ResourceManager();
manager.registerDefaults();
ExternalContext extContext = context.getExternalContext();
String reportPath = "file:" + extContext.getRealPath("name/name.prpt");
Resource res = manager.createDirectly(new URL(reportPath), MasterReport.class);
MasterReport report = (MasterReport) res.getResource();
................
................
httpServletResponse.setContentType("application/rtf");
httpServletResponse.setHeader("Content-Disposition", "attachment; filename=\"name.rtf\"");
RTFReportUtil.createRTF(report, httpServletResponse.getOutputStream());
FacesContext.getCurrentInstance().responseComplete();
} catch (ReportProcessingException ex) {
https://stackoverflow.com/questions/20840764
复制相似问题