2013-12-17 40 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