我正在使用DynamicJasper API开发一个pdf报告。
根据要求,我必须在页眉处显示一个徽标,在页脚处显示另一个。我可以使用DynamicReportBuilder.addImageBanner方法在标题处显示徽标。但我没有找到在页脚添加图像的方法。
我在 dynamic-jasper forum 中看到了一些关于这个问题的主题,其中提到的一项工作是使用pageFooter带创建一个jrxml模板。
我试过这个,但没有成功。我得到以下异常:
org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed
以下是生成报告的代码。
- 创建一个动态报告对象
- 创建一个jasperPrint对象
- 调用基于格式类型创建报告的方法。这里我必须传递jasperPrint对象,它具有jrxml表示、目标文件位置和报告格式类型。
// ...
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;
}
任何帮助将不胜感激。