我在iReport4.5中创建了一个A4格式的报表页面,并在java应用程序中使用。
如何在 java 应用程序运行时将 A4 格式更改为 A5 格式?
最佳答案
在我向您展示如何执行此操作之前,请注意仅更改页面大小可能无法满足您的需求。它会根据您的需要使页面变大或变小,放置元素的位置不会改变。在您的情况下,报告甚至可能无法编译,具体取决于您放置项目的位置。
不过你确实有几个选择:
- 首先您可以创建第二份 A5 格式的报告,然后 在运行时根据您的需要获取适当的报告。 这可能是最简单的解决方案,但这确实意味着您最终 几乎有 2 份相同的报告。意味着 future 的任何变化 你必须在两个地方做。
- 其次,如果它是一个具有典型特征的相当直接的报告 布局你可以使用类似 Dynamic Jasper 的东西生成你的 用 Java 代码报告。
- 最后,您可以直接使用 Jasper Report 的 API 来 在运行时生成报告。
现在回答你的问题。首先将 JRXml 文件加载到
JasperDesign
对象中:
//Note JRXMLLoader could also take a File object or
//InputStream instead of a String as the parameter.
JasperDesign design = JRXmlLoader.load("report.jrxml");
一旦您有了 JasperDesign
,您就可以将页面大小设置为您想要的任何大小。据我所知,A5 纸是 5.83"× 8.27"。要将其转换为 JasperReports 理解的大小,每个乘以 72,得到 420 x 596(我四舍五入,因为我们必须设置整数)。
design.setPageHeight(596);
design.setPageWidth(420);
从那里您可以像往常一样继续您的导出冒险。
关于java - 如何在运行时更改页面格式?(jasperreport),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10772240/