日期:2014-05-20  浏览次数:20684 次

java调用ireport4.0生成的.jasper文件的问题。
我现在公司需要做一个打印报表的项目。所以做了一个例子,现在的问题是,ireport4.0做的报表可以正常的生成PDF。但是如果用JAVA代码,读取.jasper文件。生成的PDF却只是一个空的不知道为什么。各位大侠指教哦。

/////////////////JAVA Code://///////////////
public class pdfIreport {

/**
 * @param args
 */
public static void main(String[] args) {
File reportFile = new File("D:\\TEST.jasper");
JasperReport jasperReport = null;
try {
jasperReport = (JasperReport) JRLoader.loadObject(reportFile.getPath());
} catch (JRException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

HashMap<String, String> parameters = new HashMap<String, String>();
parameters.put("barcode", "564789");
// Class.forName("com.mysql.jdbc.Driver");
// Connection conn =
// DriverManager.getConnection("jdbc:mysql://localhost:3306/phpcms",
// "root", "root");
try {
JasperPrint print = JasperFillManager.fillReport(jasperReport, parameters);
// OutputStream output = new FileOutputStream(new
// File("D:\\TEST.pdf"));
JasperExportManager.exportReportToPdfFile(print, "D:\\TEST.pdf");
} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

//////////////TEST.jrxml://///////////////
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="TEST" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="102"/>
<parameter name="barcode" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="79" splitType="Stretch"/>
</title>
<pageHeader>
<band height="35" splitType="Stretch"/>
</pageHeader>
<columnHeader>
<band height="61" splitType="Stretch"/>
</columnHeader>
<detail>
<band height="125" splitType="Stretch">
<componentElement>
<reportElement mode="Opaque" x="58" y="61" width="118" height="50"/>
<jr:Code39 xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" textPosition="bottom" displayChecksum="false" displayStartStop="true" extendedCharSetEnabled="false">
<jr:codeExpression><![CDATA[$P{barcode}.trim()]]></jr:codeExpression>
</jr:Code39>
</componentElement>
<componentElement>
<reportElement x="277" y="61" width="200" height="50"/>
<jr:barbecue xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" type="Code39" drawText="true" checksumRequired="false">