Exemple #1
0
 function cetak($rpt, $param_data = array(), $type = "pdf", $ignore_html_pg = TRUE)
 {
     error_reporting(E_ALL);
     ini_set('display_errors', 'On');
     $checkJavaExt = $this->checkJavaExtension();
     if (!$checkJavaExt) {
         return $checkJavaExt;
     }
     // $rpt = 'simple';
     // $report     = dirname(__FILE__)."//..//modules//".active_module()."//reports//{$rpt}.jasper";
     // $reportx    = dirname(__FILE__)."//..//modules//".active_module()."//reports//{$rpt}.jrxml";
     $outputPath = dirname(__FILE__) . "//..//modules//" . active_module() . "//reports//{$rpt}";
     $reportx = dirname(__FILE__) . "//..//modules//" . active_module() . "//reports//{$rpt}.jrxml";
     // $outputPath = sys_get_temp_dir()."//{$rpt}"; //buang ke tmp ajah
     // die ($reportx);
     $compileManager = new JavaClass("net.sf.jasperreports.engine.JasperCompileManager");
     $report = $compileManager->compileReport($reportx);
     $params = new Java("java.util.HashMap");
     foreach ($param_data as $prm => $val) {
         $params->put($prm, $val);
     }
     // if ($type=="html") {
     if ($ignore_html_pg == TRUE) {
         $params->put("IS_IGNORE_PAGINATION", true);
     }
     java('java.lang.Class')->forName('org.postgresql.Driver');
     $conn = java('java.sql.DriverManager')->getConnection("jdbc:postgresql://localhost:{$this->port}/{$this->db}?user={$this->usr}&password={$this->pwd}");
     $emptyDataSource = new Java("net.sf.jasperreports.engine.JREmptyDataSource");
     $fillManager = new JavaClass("net.sf.jasperreports.engine.JasperFillManager");
     $jasperPrint = $fillManager->fillReport($report, $params, $conn);
     /* */
     // bagus niy cm kayanya bakal tampil diserver.. hmmm nanti dah
     // $viewer = new JavaClass("net.sf.jasperreports.view.JasperViewer");
     // $viewer->viewReport($jasperPrint, false);
     // $conn->close();
     // die();
     /* */
     $exportManager = new JavaClass("net.sf.jasperreports.engine.JasperExportManager");
     if ($type == "html") {
         $exportManager->exportReportToHtmlFile($jasperPrint, $outputPath);
         header("Content-type: text/html");
     } else {
         $exportManager->exportReportToPdfFile($jasperPrint, $outputPath);
         header("Content-type: application/pdf");
         // paksa donlot ?
         // header('Content-Disposition: attachment;filename="' . $rpt . '.pdf"');
     }
     /* */
     // oh buat ngeprint...
     // $printManager = new JavaClass("net.sf.jasperreports.engine.JasperPrintManager");
     // $printManager->printPages($jasperPrint, 0,0, true);
     /* */
     readfile($outputPath);
     @unlink($outputPath);
     $conn->close();
 }