9

を使用して1つのジャスパーレポートをiReport 3.7.4 version作成しましたが、サーブレット、jsp、およびstrutsフレームワーク、サーバーとしてapache tomcatを使用しているJavaアプリケーションでそれを使用するか、そのレポートを呼び出す必要があります。

ジャスパーレポートを呼び出す方法に関する手順がいくつかの例で必要です。

4

6 に答える 6

8
  1. iReport でレポートをコンパイルする
  2. コンパイルされたレポートをクラスパスに配置します
  3. でロードする

    JasperReport jasperReport = (JasperReport) JRLoader.loadObject(inputStream);
    
  4. データを入力してください。dataSourceあなたが持っているDataSourceインスタンスです - 例えばBeanCollectionDataSource

    JasperPrint jasperPrint = 
         JasperFillManager.fillReport(jasperReport, params, dataSource);
    
  5. エクスポートする

    JRPdfExporter exporter = new JRPdfExporter();
    exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream);
    exporter.exportReport();
    
  6. 上記は、クライアントに送信するか、ファイルとして保存するかによって、または のoutputStreamいずれかになります。クライアントに送信する場合は、ヘッダーなどを送信する必要がありますが、それは保存する形式によって異なります。クライアントで印刷したい場合は、まったく別の問題です。たとえば、アプレットなどのクライアント側のコードが必要です。response.getOutputStream()FileOutputStream()Content-Disposition

于 2010-09-19T19:09:24.233 に答える
1

最善の解決策(パフォーマンスを向上させるためにも)は、コンパイルされたレポートを呼び出すことです。

以下の例を見ることができます

import java.io.IOException;
import java.util.HashMap;

import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;

public class PdfFromJasperFile {
  public static void main(String[] args) throws JRException, IOException {

    JasperPrint jasperPrint = JasperFillManager.fillReport("report.jasper",  new HashMap<String, Object>(), 
    new JREmptyDataSource());
    JasperExportManager.exportReportToPdfFile(jasperPrint, "sample.pdf");

  }
}
于 2012-02-21T17:53:05.583 に答える
1

最初の回答で、ポイント5:後

JRPdfExporter exporter= new JRPdfExporter();

追加

exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);

于 2010-12-07T14:16:57.827 に答える
1

このコードは、それを行う方法についてのアイデアを提供するはずです

JasperReport jr=JasperCompileManager.compileReport("yourJRXMLFilePath");
JasperPrint jrPrint = JasperFillManager.fillReport(jr,mapWithParameters,aJRDataSource);
JasperExportManager.chooseYourFavoriteMethod(jrPrint,"destinationFile");

それ以外の場合は、 APIを確認してください 。iReport でファイルを既にコンパイルしている場合は、最初の行を省略できます。この場合、JasperFillManager の正しいメソッドの API を確認してください。

于 2010-09-19T17:28:53.803 に答える
0

これは、同じことを行う別の方法です。

    JasperReport jasperReport;
    JasperPrint jasperPrint;
    Map<String, Object> param = new HashMap<String, Object>();
    try{
        String sourceFileName = ".jrxml";
        jasperReport = JasperCompileManager.compileReport(sourceFileName);
        jasperPrint = JasperFillManager.fillReport(jasperReport,param,new JRBeanCollectionDataSource(getDetails()));
        JasperExportManager.exportReportToPdfFile(jasperPrint, ".pdf");
    }
    catch(Exception e){
    }
于 2011-12-15T09:56:46.597 に答える