我读过没有使用iReport原生处理混合方向的方法,但是阅读文档不知道是否可以通过使用JRDefaultScriptlet的beforePageInit()来实现。在我的情况下,有一个纵向首页,与要填充它们的数据一样多的横向页面以及最后一个首页。
另一方面,有人知道吗?
如果在不久的将来将支持此功能如果有替代方法可以按要求执行并生成与jasper兼容的xml文件
提前致谢。
最佳答案
因此,我决定使用iReport,看看那里有哪些选项。事实证明,付出一些努力和想象力,就有可能实现目标。假设您的第一页位于“标题”部分,而“最后一页”位于“摘要”部分。
以横向模式创建报告。
在iReport中的“报表属性”下,将Title on New Page
和Summary on New Page
设置为true。
假设您正在使用标准的8.5“ X 11” Letter尺寸页面,且所有页边距均设置为20,则将“标题”和“摘要”部分的高度设置为572。
将您的静态文本字段添加到适当的部分。
现在,对于每个静态文本字段,您需要将Rotate
属性设置为Left
(实际上它可能是Right
,关键是它们都必须相同。
当然,将您想要的所有其他字段添加到页面标题,数据等的适当区域中。
导出报告。
注意:如果有任何图像需要进入“标题”或“摘要”部分,则需要将其适当地旋转到iReport之外并保存。然后将旋转的图像设置为报告中的图像。不幸的是,图像标签似乎没有旋转属性,因为这会使生活变得轻松。
同样,如果您未设置步骤2中列出的属性,则将无法将“标题”和“摘要”带的高度设置为适当的宽度。如果您使用其他尺寸的纸张和/或
要确定最大尺寸(这是您所需要的),最简单的方法是将色带的高度设置为一个很大的数字。然后它将弹出并告诉您它太大了,以及最大实际大小是多少。