2013-12-17 73 views
-2

PDF我已經從一個MySQL數據庫與生產數據的XML文件中的Java Swing應用程序。運行碧玉報告和出口從Java Swing應用程序

使用我已成功製作Jasper (jrxml)報告使用NetBeans的Jasper 5.5.0插件與我的Swing應用程序分開。

要做到這一點,我用準備好的XML文件作爲數據源。所以我有Jasper報告與xml數據源和一個子報表。我怎樣才能逃離我的Swing應用程序,並出口爲PDF文件.jasper報告?從我的Swing應用程序最終的消息框,我得到:

<em>"XML file is successfully generated"</em> 

我想要對消息框一個按鈕,選項:

<em>"Print xml to pdf file"</em> 

我在哪裏可以運行我的碧玉報告,並導出爲PDF?

...我已經尋找使用谷歌的例子,但我找不到任何有用的東西。

+0

@Fraser感謝編輯! –

+0

無後顧之憂...只是擡起頭來,你應該嘗試和拓展的問題,以顯示你已經嘗試了什麼。我知道你說你已經「用Google搜索了一些例子」,但沒有在問題中提出更多的問題,它可能會被關閉。 – Fraser

+0

@Fraser感謝您的支持,我會找到一些東西...... –

回答

1

我找到了解決辦法:

import net.sf.jasperreports.engine.JRException; 

import net.sf.jasperreports.engine.JasperCompileManager; 

import net.sf.jasperreports.engine.JasperExportManager; 
import net.sf.jasperreports.engine.JasperFillManager; 
import net.sf.jasperreports.engine.JasperPrint; 
import net.sf.jasperreports.engine.JasperReport; 
import net.sf.jasperreports.engine.JasperReportsContext; 
import net.sf.jasperreports.engine.data.JRXmlDataSource; 
public static void main(String[] args) { 
try { 
    HashMap hm = new HashMap < >(); 
     String filePath = System.getProperty("user.dir") + "\\somexmldatasource.xml"; 
     InputStream inputStream = new FileInputStream(new File(filePath)); 
     JRXmlDataSource ds = new JRXmlDataSource(inputStream, "/some/xpath/query"); 
     JasperReport jasperReport; 
     JasperPrint jasperPrint; 
     jasperReport = JasperCompileManager.compileReport(System.getProperty("user.dir") + "\\yourreport.jrxml"); 
     jasperPrint = JasperFillManager.fillReport(jasperReport, hm, ds); 
     JasperExportManager.exportReportToPdfFile(jasperPrint, "someoutputpath\\simple_report.pdf"); 
} catch (Exception e) { 
     e.printStackTrace(); 
} 

} 

在Java中使用碧玉您必須包括幾個JAR:

c:\Program Files (x86)\Jaspersoft\iReport-5.5.0\ireport\modules\ext\ 

(或iReport的應用程序的一些其他路徑)

的罐子包括有:

  • ç ommons的集合-3.2.1.jar
  • 公共沼氣池-2.1.jar
  • 共享記錄-1.1.jar
  • JasperReports的-5.5.0.jar
  • 的xml-apis.jar
  • 公地的BeanUtils-1.8.2.jar
  • servlet的API-2.4.jar
  • 的iText-2.1.7.js2.jar