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(); }