我读过没有办法来处理本地使用iReport的混合取向,但是我读通过JRDefaultScriptlet的beforePageInit()也可能以某种方式实现怀疑,如果文档。 在我的情况有一个人像头版,许多横向页面因为有数据填充它们,以及最后的前一页。
在另一方面,有谁知道:
- 如果这是一个功能,在不久的将来得到支持
- 如果有,做的请求,并生成一个标准的碧玉xml文件的替代
提前致谢。
我读过没有办法来处理本地使用iReport的混合取向,但是我读通过JRDefaultScriptlet的beforePageInit()也可能以某种方式实现怀疑,如果文档。 在我的情况有一个人像头版,许多横向页面因为有数据填充它们,以及最后的前一页。
在另一方面,有谁知道:
提前致谢。
所以我决定到那里玩的iReport的,看看有什么选项,其中这一点。 原来它是那种可能拉断,与一些努力和想象力。 这是假设你的第一个页面是在标题部分,你的最后一页是摘要部分。
创建您在横向模式下的报告。
在报告属性中设置的iReport Title on New Page
和Summary on New Page
设置为true。
假设你使用的是标准的8.5" ×11" 信纸大小页面设置为20的所有空间,设置标题和摘要部分的高度,以572。
添加您的静态文本字段中插入相应的部分。
现在,您需要在设置每个静态文本字段Rotate
属性为Left
(以及它实际上是Right
,关键是他们都需要是相同的。
当然,添加你想要的所有其他领域成页头,数据等适当的波段
导出报表。
注意 :如果你有需要进入的标题或摘要节的任何图像您需要将它们适当地旋转的iReport之外,并保存它。 然后设置旋转的图像在报告中的图像。 不幸的是,图像标签似乎不具有旋转特性,因为这将让生活容易。
此外,如果您没有设置在步骤2中列出的属性,你将无法在标题和摘要带的高度设置为适当的宽度。 如果您使用的是不同尺寸的纸张和/或利润率的简单的方法来找出最大尺寸(这是你需要什么)是乐队的高度设置为一个非常大的数字。 然后,它会弹出,并告诉你这是到大,什么最大大小实际上是。
还有就是混合横向和纵向的报表,在未来,他们将增加一个对象调用JasperBook或类似的东西,在这里你可以添加不同方向的不同子报表没有问题的支持,但目前已模拟,通过做不同的报告,只是显示他们之前加入他们的行列。
IE
//创建标准的报告
InputStream report1 = (InputStream) getClass().getResourceAsStream("/com/app/jasper/reportPortrait.jasper");
InputStream report2 = (InputStream) getClass().getResourceAsStream("/com/app/jasper/reportLandscape.jasper");
InputStream report3 = (InputStream) getClass().getResourceAsStream("/com/app/jasper/reportPortrait.jasper");
JasperPrint jasperPrint = JasperFillManager.fillReport(report, map, conn);
JasperPrint jasperPrint2 = JasperFillManager.fillReport(report2, map, conn);
JasperPrint jasperPrint3 = JasperFillManager.fillReport(report3, map, conn);
JRPdfExporter exp = new JRPdfExporter();
//添加JasperPrint对象到一个ArrayList
List list = new ArrayList();
list.add(jasperPrint);
list.add( jasperPrint2 );
list.add(jasperPrint3);
//并说给出口商加入的报告列表。
exp.setParameter(JRPdfExporterParameter.JASPER_PRINT_LIST, list);
exp.setParameter(JRExporterParameter.OUTPUT_STREAM, response.getOutputStream());
exp.exportReport();
我做了我的报告和它的作品。 祝好运!