我正在使用DynamicJasper API开发pdf报告。
根据要求,我必须在页眉和页脚显示一个徽标。我可以使用DynamicReportBuilder在标题处显示徽标。addImageBanner方法。但我没有找到在页脚添加图像的方法。
我在动态jasper论坛上看到了一些关于这个问题的帖子,其中提到的一个解决方法是使用pageFooter band创建一个jrxml模板。
我尝试了这个,但没有成功。我得到了以下例外:
<代码>组织。xml。萨克斯。SAXParseException:不允许处理指令目标与“[xX][mM][lL]”匹配
以下是生成报告的代码。
java prettyprint-override">// ...
DynamicReport dynamicReport = buildDynamicReport(reportTemplate, grpFields);
// build jrxml <br/>
JasperPrint jasperPrint = buildJRXML(dynamicReport, dataSource, reportFormat);
// export the report into specific target format <br/>
exportReport(jasperPrint, targetReportFile, reportFormat);
// ...
private DynamicReport buildDynamicReport(Template reportTemplate,
Vector<String[]> groupFields) throws ServiceException {
/** code to generate DynamicReport object. */
dynamicReportBuilder.setTemplateFile("jrxml/report-footer.jrxml");
DynamicReport dynamicReport = dynamicReportBuilder.build();
return dynamicReport;
}
任何帮助将不胜感激。
由于Dynamicjasper的ClassicLayoutManager类默认情况下仅将所有图像横幅应用于头带,因此似乎没有直接实现这一点的方法。
一种解决方法是使用自定义布局管理器实现-扩展ClassicLayoutManager并覆盖apple yBanner()方法。
public class CustomLayoutManager extends ClassicLayoutManager {
protected void applyBanners() {
super.applyBanners(); //let the ClassicLayoutManager apply header banners
// explicitly add banner to footer band..
JRDesignBand pageFooter = (JRDesignBand)getDesign().getPageFooter();
// if there is no footer band we create one
if(pageFooter == null) {
pageFooter = new JRDesignBand();
getDesign().setPageFooter(pageFooter);
}
Vector<ImageBanner> vImageBanner = new Vector<ImageBanner>();
vImageBanner.add(new ImageBanner("yourlogoimage.ext", 120, 50, ImageBanner.ALIGN_LEFT));
applyImageBannersToBand(pageFooter, vImageBanner, null);
}
}
然后在生成报告时使用中的自定义类。。
JasperPrint jasperPrint = DynamicJasperHelper.generateJasperPrint(dynamicReport, new CustomLayoutManager(), parameters);
如何在jasper子报告中显示当前页码?我只做了第一页,变量如下:$V{page_NUMBER}和“(”$V{page_COUNT}“)”,但我们如何在所有子报告中显示?
问题内容: 我想在碧玉报告中显示图像。我在.jrxml上具有以下内容: 图像logo.jpg与.jrxml位于同一目录中。只是说这对我不起作用。我在Google上搜索了一下,发现jasper报告将我放在.jrxml中的内容视为到JVM目录的相对路径,并且要更改此设置,我需要将返回文件的FileResolver作为“ REPORT_FILE_RESOLVER”参数传递。因此,我在.java中进行了以
我正在使用jasperreport-4.5.0生成报告。它正在正确地生成报告。但是如果我的数据库中有大量数据,那么报告vl会显示在不同的页面中。所以我的要求是,如果我的报告有12页,那么我想显示12页中的第1页,12页中的第2页,12页中的第3页……就像我的页眉带一样。我怎么能做到这一点,任何人都可以对此提出一个想法。
我使用XML用Java和Intellij IDE生成一个jasper报告,jasper版本是5.0.4。 在文件中有欧元符号,但是在pdf上创建报表时,我看到的是而不是 它是如何来的,我应该向文件添加什么来解决这个问题?
我已将图像保存在oracle数据库中为BLOB。我的模型类包含Byte[]图像;对应于数据库中的BLOB feild。我必须将数据库中的所有图像导出为PDF格式。在java中,我使用了以下代码: 我需要PDF格式的图像。
我正在为jasper pdf报告使用以下代码来显示字符M平方(\u33a1) 对于这段代码,我无法在PDF中看到unicode字符。它只是一片空白。但在XLSX中,我可以看到角色。我尝试了以下内容: 删除pdfEncoding 但运气不好 更新:我使用的自定义字体似乎不支持平方m字符。我无法添加新字体或更新现有的自定义字体。但是我可以为该特定字符使用任何或内置字体。如何使用内置字体实现此目的? 我