Java 如何在运行时更改页面格式?(jasperreport)
我在iReport4.5中创建了一个A4格式的报告页面,并在java应用程序中使用Java 如何在运行时更改页面格式?(jasperreport),java,jasper-reports,Java,Jasper Reports,我在iReport4.5中创建了一个A4格式的报告页面,并在java应用程序中使用 如何在java应用程序的运行时将A4格式更改为A5格式?在我向您演示如何执行此操作之前,请注意,仅更改页面大小可能无法满足您的需要。它会使页面变大或变小,这取决于你想要什么,放置元素的位置不会改变。在您的情况下,报告甚至可能无法编译,这取决于您将项目布置在何处 不过,您有几个选择: 首先,您可以为A5格式创建第二个报告,然后 在运行时,根据需要获取适当的报告。 这可能是最简单的解决方案,但它确实意味着你最终会失败
如何在java应用程序的运行时将A4格式更改为A5格式?在我向您演示如何执行此操作之前,请注意,仅更改页面大小可能无法满足您的需要。它会使页面变大或变小,这取决于你想要什么,放置元素的位置不会改变。在您的情况下,报告甚至可能无法编译,这取决于您将项目布置在何处 不过,您有几个选择:
现在回答你的问题。首先将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(我四舍五入,因为我们必须设置整数)
从那里你可以像平常一样继续你的出口冒险。我试过了。不会引发任何错误,并且输出pdf不会从8.5x11in更改。我还直接在jrxml中设置了高度和宽度。我不知道还能做什么。有什么建议吗?
design.setPageHeight(596);
design.setPageWidth(420);