0

JRレポートを印刷したい。

私はこのコードを試しています

JasperPrint jp = new JasperFillManager().fillReport("billReport", billId, 
    "jdbc:mysql://localhost/kpc_hospital");  
JasperPrintManager.printReport(jp, true)

しかし、このコードは機能していません。

4

1 に答える 1

6

印刷ダイアログを表示する代わりに、JasperReportを直接印刷するために使用できるさまざまな方法があります。

最も簡単な方法は次のとおりです。

    Connection con;
    String url="jdbc:mysql://localhost/mydb";
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    con=(Connection) DriverManager.getConnection(url,"root","");
    JasperReport jasperReport = JasperCompileManager.compileReport(fileName);
    JasperPrint print = JasperFillManager.fillReport(jasperReport, parameter, con);
    print.setPageHeight(100);
    print.setPageWidth(80);
    print.setOrientation(jasperReport.getOrientationValue().LANDSCAPE);
    JasperPrintManager.printReport(print,false);

これを使用することもできます:

    PrinterJob job = PrinterJob.getPrinterJob();
    int selectedService = 0;
    selectedService = 0;
    PrintRequestAttributeSet printRequestAttributeSet = new HashPrintRequestAttributeSet();
    printRequestAttributeSet.add(OrientationRequested.PORTRAIT);
    printRequestAttributeSet.add(MediaSizeName.ISO_A0); 
    MediaSizeName mediaSizeName = MediaSize.findMedia(64,25,MediaPrintableArea.MM);
    printRequestAttributeSet.add(mediaSizeName);
    printRequestAttributeSet.add(new Copies(1));
    JRPrintServiceExporter exporter;
    exporter = new JRPrintServiceExporter();
    exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasper_print);
    exporter.setParameter(JRPrintServiceExporterParameter.PRINT_REQUEST_ATTRIBUTE_SET, printRequestAttributeSet);
    exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG, Boolean.FALSE);
    exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, Boolean.TRUE);
    exporter.exportReport();
    job.print(printRequestAttributeSet);
于 2013-01-11T20:10:31.073 に答える