簡體   English   中英

如何在運行時更改頁面格式?(jasperreport)

[英]how to Change Page Format in Runtime?(jasperreport)

我在iReport4.5中創建了A4格式的報告頁面,並在Java應用程序中使用。

如何在Java應用程序中的運行時將A4更改為A5格式?

在向您展示如何執行此操作之前,請注意,僅更改頁面大小可能無法滿足您的需求。 它將使頁面根據您的需要變大或變小,放置元素的位置不會改變。 對於您而言,取決於您在何處布置項目,甚至可能無法編譯報告。

您確實有幾個選擇:

  1. 首先,您可以為A5格式創建第二個報告,然后在運行時根據需要獲取適當的報告。 這可能是最簡單的解決方案,但這確實意味着您最終將獲得幾乎兩個相同的報告。 這意味着將來您必須在兩個地方進行任何更改。
  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(我四舍五入,因為我們必須設置Integers)。

 design.setPageHeight(596); design.setPageWidth(420); 

從那里您可以像往常一樣繼續進行出口冒險。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM