- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
之前我使用 Pentaho 报告,我可以使用 pentaho 报告设计器创建报告并将 .prpt 文件部署到 BI 服务器中。它会工作得很好。
现在我正在寻找一种解决方案,可以将 .prpt 文件放入 Java 程序中并像 jasper 报告(.jrxml 文件)一样运行。因为我需要将 Pentaho 报告与我的 Web 应用程序集成。
我可能会问一个非常基本的问题。但我没有找到这方面的正确文件。请指出一些正确的位置,示例代码将会有所帮助。
最佳答案
由于接受的答案中的第一个链接似乎不再起作用,正在寻找示例的人可能会发现这个更有用:https://github.com/pentaho/pentaho-reporting/blob/master/engine/samples/source/org/pentaho/reporting/engine/classic/samples
某些示例中的代码有点复杂,因此我发布了自己的报告生成器类,其中仅包含生成 PDF 报告的基本要素:
公共(public)类报告生成器{
public byte[] generateReport(byte[] templateBytes, Map<String, Object> params) throws Exception {
ClassicEngineBoot.getInstance().start();
MasterReport reportData = loadTemplateDefinition(templateBytes);
addParametersToReport(params, reportData);
byte[] reportBytes = generateReport(reportData);
return reportBytes;
}
private MasterReport loadTemplateDefinition(byte[] templateBytes) throws Exception {
ResourceManager resourceManager = new ResourceManager();
Resource templateResource = resourceManager.createDirectly(templateBytes, MasterReport.class);
return (MasterReport) templateResource.getResource();
}
private void addParametersToReport(Map<String, Object> params, MasterReport reportData) {
if (params != null) {
for (String key : params.keySet()) {
reportData.getParameterValues().put(key, params.get(key));
}
}
}
private byte[] generateReport(MasterReport reportData) throws ReportProcessingException {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PdfOutputProcessor outputProcessor = new PdfOutputProcessor(reportData.getConfiguration(), outputStream, reportData.getResourceManager());
AbstractReportProcessor reportProcessor = null;
try {
reportProcessor = new PageableReportProcessor(reportData, outputProcessor);
reportProcessor.processReport();
} finally {
if (reportProcessor != null) {
reportProcessor.close();
}
}
return outputStream.toByteArray();
}
}
generateReport 方法在 templateBytes 参数中接受 .prpt 文件的内容,并在 params 参数中接受生成报告所需的参数列表。
它返回的字节数组包含生成的 PDF 报告的内容。
此外,如果您在应用程序中使用 Maven,那么包含所有必要的依赖项也很重要。我使用了在这里找到的列表:http://wiki.pentaho.com/display/Reporting/How+to+integrate+report+designer+to+your+web+application ,其中我将所有与pentaho相关的库版本替换为版本6.1.0.1-196
关于java - .prpt 报告从 java 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20840764/
我有一堆由 Pentaho 报表设计器 (PRD) 生成的 pentaho 报表 (prpt),我想更改所有报表的报表样式(字体、 Logo 、颜色),但我需要能够更改他们不时地快速(客户定制) 问题
之前我使用 Pentaho 报告,我可以使用 pentaho 报告设计器创建报告并将 .prpt 文件部署到 BI 服务器中。它会工作得很好。 现在我正在寻找一种解决方案,可以将 .prpt 文件放入
我的 pentaho 服务器上有一个静态 Pentaho 报告(.prpt)。我正在尝试找到将参数传递给我的 pentaho 报告并使用 pentaho 调度程序刷新(更新)报告的方法。我能够运行 s
当我使用 Pentaho Report Designer 创建报告时,它会输出一个扩展名为 .prpt 的报告文件。之后我在互联网上找到了一个示例,其中使用以下代码以 html 格式显示报告: pro
任何人都可以帮助我开始在 maven 环境中使用 java 从 Pentaho .prpt 文件生成 PDF 吗? 我有 Pentaho Reporting 3.5 for Java Develope
我是一名优秀的程序员,十分优秀!