Jasper reports jasperreport高度波段内容相关性

Jasper reports jasperreport高度波段内容相关性,jasper-reports,Jasper Reports,如何让报表引擎调整条带高度以适应内容占用的真实空间 在本论坛中,如果您使用“pageHeader”部分,您可以找到响应。 但在“columnFooter”或“pageFooter”中不起作用 我想在第一页的底部显示信息,而不在后面的页面中保留空白 有什么解决办法吗?里卡多·马里亚卡。这段代码就是解决方案,感谢Ricardo和DynamicReport private void build() { try { JasperPdfExporterBuilder pd

如何让报表引擎调整条带高度以适应内容占用的真实空间

在本论坛中,如果您使用“pageHeader”部分,您可以找到响应。

但在“columnFooter”或“pageFooter”中不起作用

我想在第一页的底部显示信息,而不在后面的页面中保留空白


有什么解决办法吗?

里卡多·马里亚卡。这段代码就是解决方案,感谢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说:由于节拆分功能,可以很好地管理高度拉伸元素:除了极少数例外(如列和页脚)。我正在寻找其他解决办法