Jasper reports jasperreport高度波段内容相关性
如何让报表引擎调整条带高度以适应内容占用的真实空间 在本论坛中,如果您使用“pageHeader”部分,您可以找到响应。 但在“columnFooter”或“pageFooter”中不起作用 我想在第一页的底部显示信息,而不在后面的页面中保留空白Jasper reports jasperreport高度波段内容相关性,jasper-reports,Jasper Reports,如何让报表引擎调整条带高度以适应内容占用的真实空间 在本论坛中,如果您使用“pageHeader”部分,您可以找到响应。 但在“columnFooter”或“pageFooter”中不起作用 我想在第一页的底部显示信息,而不在后面的页面中保留空白 有什么解决办法吗?里卡多·马里亚卡。这段代码就是解决方案,感谢Ricardo和DynamicReport private void build() { try { JasperPdfExporterBuilder pd
有什么解决办法吗?里卡多·马里亚卡。这段代码就是解决方案,感谢Ricardo和DynamicReport
private void build() {
try {
JasperPdfExporterBuilder pdfExporterBuilder = export
.pdfExporter(PDF_FILE);
JasperReportBuilder jasperReportBuilderMain = report()
.columns(
col.column("Item", "item", type.stringType()),
col.column("Quantity", "quantity",
type.integerType()),
col.column("Unit price", "unitprice",
type.bigDecimalType()))
.setDataSource(createSubreportDataSource())
// .detail(cmp.subreport(createSubreport()))
.setWhenNoDataType(WhenNoDataType.ALL_SECTIONS_NO_DETAIL);
JasperReportBuilder jasperReportBuilderDisclaimer = report()
.setPageFormat(PageType.A4, PageOrientation.LANDSCAPE)
.summary(cmp.subreport(jasperReportBuilderMain))
.summaryWithPageHeaderAndFooter()
.setWhenNoDataType(WhenNoDataType.ALL_SECTIONS_NO_DETAIL)
.columnHeader(
cmp.text("first page header").setFixedHeight(50))
.columnFooter(
cmp.text(DISCLAIMER).setStretchWithOverflow(true)
.setFixedHeight(250))
.pageHeader(
Templates
.createTitleComponent("Ricardo Mariaca Approach"))
.pageFooter(Templates.footerComponent).show()
.toPdf(pdfExporterBuilder);
} catch (DRException e) {
e.printStackTrace();
}
}
private JRDataSource createSubreportDataSource() {
DRDataSource dataSource = new DRDataSource("item", "quantity",
"unitprice");
for (int i = 0; i < 180; i++) {
dataSource.add("Book", (int) (Math.random() * 10) + 1,
new BigDecimal(Math.random() * 100 + 1));
}
return dataSource;
}
private void build(){
试一试{
JasperPdfExporterBuilder pdfExporterBuilder=导出
.pdfExporter(PDF_文件);
JasperReportBuilder jasperReportBuilderMain=报告()
.栏目(
col.column(“项”,“项”,type.stringType()),
列(“数量”、“数量”,
type.integerType()),
列(“单价”、“单价”,
type.bigDecimalType())
.setDataSource(createSubreportDataSource())
//.detail(cmp.subreport(createSubreport()))
.SetWhenNodeType(WhenNodeType.所有章节\u编号\u详情);
JasperReportBuilder jasperReportBuilderDisclaimer=报告()
.setPageFormat(PageType.A4,PageOrientation.横向)
.摘要(cmp.子报告(jasperReportBuilderMain))
.Summary with PageHeader和Footer()
.SetWhenNodeType(WhenNodeType.ALL\u Section\u NO\u详细信息)
.列标题(
cmp.text(“第一页页眉”).setFixedHeight(50))
.columnFooter(
cmp.text(免责声明).setStretchWithOverflow(true)
.设置固定高度(250))
.页眉(
模板
.createTitleComponent(“Ricardo Mariaca方法”))
.pageFooter(Templates.footerComponent).show()
.toPdf(PDFEExporterBuilder);
}捕获(D例外e){
e、 printStackTrace();
}
}
私有JRDataSource createSubreportDataSource(){
DRDataSource数据源=新的DRDataSource(“项目”、“数量”,
“单价”);
对于(int i=0;i<180;i++){
dataSource.add(“Book”,(int)(Math.random()*10)+1,
新的BigDecimal(Math.random()*100+1));
}
返回数据源;
}
}我知道JasperReport docs说:由于节拆分功能,可以很好地管理高度拉伸元素:除了极少数例外(如列和页脚)。我正在寻找其他解决办法