2012-05-27 73 views

回答

6

在我告訴你如何做到這一點之前,請注意,只是改變頁面大小可能不會給你想要的。它會使頁面變大或變小,取決於你想要什麼,放置元素的位置不會改變。在你的情況下,報告可能甚至不會編譯,具體取決於你有什麼項目佈局。

你確實有幾個選擇,但:

  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); 

從那裏你可以像你平常那樣在出口冒險中共同努力。

相關問題