7

我在 iReport4.5 中创建了一个 A4 格式的报告页面并在 java 应用程序中使用。

java - 如何在Java应用程序的运行时将A4格式更改为A5格式?

4

1 回答 1

7

在我向您展示如何执行此操作之前,请注意仅更改页面大小可能无法满足您的需求。它将根据您的需要使页面变大或变小,放置元素的位置不会改变。在您的情况下,报告甚至可能无法编译,具体取决于您放置项目的位置。

不过,您确实有几个选择:

  1. 首先,您可以为 A5 格式创建第二个报告,然后在运行时根据您的需要获取适当的报告。这可能是最简单的解决方案,但这确实意味着您最终会得到几乎 2 个相同的报告。这意味着将来您必须在两个地方进行任何更改。
  2. 其次,如果它是一个具有典型布局的相当直接的报告,您可以使用Dynamic Jasper之类的东西在 Java 代码中生成您的报告。
  3. 最后,您可以直接使用 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);

从那里您可以像往常一样继续您的出口冒险。

于 2012-05-28T17:39:09.197 回答