コード例 #1
0
ファイル: openreport.php プロジェクト: nirantarnoy/st2
define('JAVA_INC_URL', 'http://localhost:85/JavaBridge/java/Java.inc');
require_once JAVA_INC_URL;
//require_once("http://127.0.0.1:85/JavaBridge/java/Java.inc");
$system = new Java('java.lang.System');
$class = new JavaClass("java.lang.Class");
$class->forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//$class->forName("com.mysql.jdbc.Driver");
$driverManager = new JavaClass("java.sql.DriverManager");
//$conn = $driverManager->getConnection("jdbc:mysql://localhost/stdb?user=sa&password=Tamakogi2012");
$conn = $driverManager->getConnection("jdbc:sqlserver://127.0.0.1;databaseName=st;user=sa;password=Tamakogi2012");
//compliler
$compileManager = new JavaClass("net.sf.jasperreports.engine.JasperCompileManager");
$viewer = new JavaClass("net.sf.jasperreports.view.JasperViewer");
$report = $compileManager->compileReport("C:/inetpub/wwwroot/inv_01.jrxml");
//fill
$fillManager = new JavaClass("net.sf.jasperreports.engine.JasperFillManager");
$params = new Java("java.util.HashMap");
//$params->put("text", "Text");
$params->put("ofYear", 2015.0);
//$params->put("date", convertValue("2007-12-31 0:0:0", "java.sql.Timestamp"));
$emptyDatasource = new JavaClass("net.sf.jasperreports.engine.JREmptyDataSource");
$jasperPrint = $fillManager->fillReport($report, $params, $conn);
$exportManager = new JavaClass("net.sf.jasperreports.engine.JasperExportManager");
$outputPath = realpath(".") . "/" . "output.pdf";
//$exportManager->exportReportToHtml($jasperPrint,$outputPath);
//header("Content-type: application/html");
$exportManager->exportReportToPdfFile($jasperPrint, $outputPath);
header("Content-type: application/pdf");
readfile($outputPath);
unlink($outputPath);
コード例 #2
0
function callReport($nomReport, $arrParam)
{
    global $SYS;
    require_once "Java.inc";
    //java_require(dirname(__FILE__)."/jfreechart-1.0.1.jar");
    java_require(dirname(__FILE__) . "/drivers.jar");
    //java_require("/usr/share/java/postgresql-jdbc3.jar");
    try {
        copy("{$SYS["ROOT"]}/JasperReports/phpjasper/Pool/{$nomReport}.jrxml", "/tmp/{$nomReport}.jrxml");
        $jcm = new JavaClass("net.sf.jasperreports.engine.JasperCompileManager");
        $report = $jcm->compileReport("/tmp/{$nomReport}.jrxml");
        $jfm = new JavaClass("net.sf.jasperreports.engine.JasperFillManager");
        $Conn = new Java("org.altic.jasperReports.JdbcConnection");
        $Conn->setDriver("org.postgresql.Driver");
        $Conn->setConnectString("jdbc:mysql://{$_SERVER["SERVER_NAME"]}:3306/{$SYS["mysql"]["DBNAME"]}");
        // Parche tonto
        // 		$Conn->setConnectString("jdbc:postgresql://localhost:5432/{$_SESSION['dbname']}"); //
        $Conn->setUser("ascore");
        $Conn->setPassword("ascore");
        if ($Conn->getConnection()) {
            $parameters = new Java("java.util.HashMap");
            /* PARAMETROS */
            foreach ($arrParam as $n => $v) {
                // Tendré que comprobar el tipo, pasar ad_reference_id por parámetro
                if (isset($v['type'])) {
                    if ($v['type'] == "Date") {
                        $ts1 = text_to_int($v['value']);
                        $JAVA_PAR = new Java("java.util.Date", date("Y", $ts1) - 1900, date("m", $ts1) - 1, date("d", $ts1));
                        $parameters->put($n, $JAVA_PAR);
                    } else {
                        if ($v['type'] == "Integer") {
                            $JAVA_PAR = new Java("java.lang.Integer", $v['value']);
                            //die( "NOMBRE PARAM: $n ; VALOR: {$v['value']} <br />");
                            $parameters->put($n, $JAVA_PAR);
                        } else {
                            if ($v['type'] == "Boolean") {
                                $JAVA_PAR = new Java("java.lang.Boolean", $v['value']);
                                $parameters->put($n, $JAVA_PAR);
                            } else {
                                if ($v['type'] == "Double") {
                                    $JAVA_PAR = new Java("java.lang.Double", $v['value']);
                                    $parameters->put($n, $JAVA_PAR);
                                } else {
                                    $parameters->put($n, $v['value']);
                                }
                            }
                        }
                    }
                } else {
                    $parameters->put($n, $v['value']);
                }
            }
            $parameters->put("REPORT_DIR", "/tmp/tmp/");
            $print = $jfm->fillReport($report, $parameters, $Conn->getConnection());
            $listaPag = $print->getPages();
            $numPag = $listaPag->size();
            if ($numPag == '0') {
                // Mostramos mensaje, el documento no contiene páginas (Usar div similar al session caducada)
                $_SESSION['msgDocInfo'] = "El documento no tiene p&aacute;ginas.";
            } else {
                $filem = time();
                $finalname = "/tmp/{$filem}.pdf";
                $jem = new JavaClass("net.sf.jasperreports.engine.JasperExportManager");
                $jem->exportReportToPdfFile($print, $finalname);
                while (ob_end_clean()) {
                }
                if (file_exists($finalname)) {
                    header('Content-type: application/pdf');
                    header("Content-Disposition: attachment; filename=\"{$finalname}\"");
                    readfile($finalname);
                }
                die;
            }
        } else {
            echo "ERRORS";
        }
    } catch (JavaException $ex) {
        /*$trace = new Java("java.io.ByteArrayOutputStream");
        		$ex->printStackTrace(new Java("java.io.PrintStream", $trace));
        		print "java stack trace: $trace\n";*/
        ob_end_clean();
        echo "<pre>ERROR<br>";
        echo "Cause: " . $ex->getCause() . "<br>";
        echo "Message: " . $ex->getMessage() . "</pre>";
    }
}
コード例 #3
0
 /**
  * @ignore 
  */
 protected function crear_pdf()
 {
     //Uno todos los metareportes para generar un solo archivo
     $master_print = $this->unir_metareportes();
     ////Exportamos el informe y lo guardamos como pdf en el directorio donde están los reportes
     $export_manager = new JavaClass("net.sf.jasperreports.engine.JasperExportManager");
     $export_manager->exportReportToPdfFile($master_print, $this->temp_salida);
 }
コード例 #4
0
 function fillDB($db, $fileInput, $fileOutput, $fileType, $parameters, $classPath, $save)
 {
     $params = $this->prepareParameters($parameters);
     $params->put('REPORT_LOCALE', new Java("java.util.Locale", 'pt', 'BR'));
     $extension = substr($fileInput, strrpos($fileInput, '.'));
     try {
         $sJfm = new JavaClass("net.sf.jasperreports.engine.JasperFillManager");
         if ($extension == ".jrxml") {
             $s1 = new JavaClass("net.sf.jasperreports.engine.xml.JRXmlLoader");
             $jasperDesign = $s1->load($fileInput);
             $sJcm = new JavaClass("net.sf.jasperreports.engine.JasperCompileManager");
             $report = $sJcm->compileReport($jasperDesign);
         } else {
             $report = $fileInput;
         }
         // Create the JDBC Connection
         $conn = new Java("org.altic.jasperReports.JdbcConnection");
         // Call the driver to be used
         $conn->setDriver(\Manager::getConf("db.{$db}.jdbc.driver"));
         // Connection URL
         $conn->setConnectString(\Manager::getConf("db.{$db}.jdbc.db"));
         // Server Connection Username
         $conn->setUser(\Manager::getConf("db.{$db}.user"));
         // Server Connection Password
         $conn->setPassword(\Manager::getConf("db.{$db}.password"));
         $print = $sJfm->fillReport($report, $params, $conn->getConnection());
         $sJem = new JavaClass("net.sf.jasperreports.engine.JasperExportManager");
         $output = \Manager::getDownloadURL('report', basename($this->fileOutput), true);
         $sJem->exportReportToPdfFile($print, $fileOutput);
     } catch (Exception $e) {
         dump_java_exception($e);
     }
     return $output;
 }
コード例 #5
0
ファイル: report.php プロジェクト: anawatom/first
 public function report_TRN1I060()
 {
     $get_data = $this->input->get(NULL, TRUE);
     if (empty($get_data) === FALSE) {
         $this->checkJavaExtension();
         $compileManager = new JavaClass("net.sf.jasperreports.engine.JasperCompileManager");
         //              $report = $compileManager->compileReport("C:/DPE/apache-tomcat-6.0.32/reports/TRN1I040_Regis_v2.jrxml");
         $fillManager = new JavaClass("net.sf.jasperreports.engine.JasperFillManager");
         // Add parameters
         // p_termId
         // p_historyNoStart
         // p_historyNoEnd
         $params = new Java("java.util.HashMap");
         $str_term_id = (string) $get_data['TERM_GEN'];
         $params->put("p_termId", $str_term_id);
         if ($get_data['HISTORY_NO'] === '1') {
             $str_history_no_start = (string) $get_data['HISTORY_NO_START'];
             $params->put("p_historyNoStart", $str_history_no_start);
             $str_history_no_end = (string) $get_data['HISTORY_NO_END'];
             $params->put("p_historyNoEnd", $str_history_no_end);
         }
         $class = new JavaClass("java.lang.Class");
         $class->forName("oracle.jdbc.driver.OracleDriver");
         $driverManager = new JavaClass("java.sql.DriverManager");
         $conn = $driverManager->getConnection("jdbc:oracle:thin:@192.168.2.13:1521:OSRDDB2", "train", "train");
         //          $emptyDataSource = new Java("net.sf.jasperreports.engine.JREmptyDataSource");
         //          $jasperPrint = $fillManager->fillReport($report, $params, $conn);
         $report_name = '';
         if ($get_data['REPORT_TYPE'] === 'vertical') {
             $report_name = 'TRN1I060_Certifys_Vertical.jasper';
         } else {
             if ($get_data['REPORT_TYPE'] === 'horizontal') {
                 $report_name = 'TRN1I060_Certifys.jasper';
             }
         }
         $jasperPrint = $fillManager->fillReport("C:/DPE/apache-tomcat-6.0.32/reports/" . $report_name, $params, $conn);
         $filename = uniqid('Report_');
         $outputPath = "E:/dd/" . "{$filename}.pdf";
         $exportManager = new JavaClass("net.sf.jasperreports.engine.JasperExportManager");
         $exportManager->exportReportToPdfFile($jasperPrint, $outputPath);
         header("Content-type: application/pdf");
         readfile($outputPath);
         unlink($outputPath);
     }
 }
コード例 #6
0
                    //$parameters->put($v["paraname"],$JAVA_PAR);
                } else {
                    if ($v["paratype"] == "Cadena") {
                        $JAVA_PAR = new Java("java.lang.String", $v["value"]);
                        $parameters->put($v["paraname"], $JAVA_PAR);
                    }
                }
            }
        }
        $parameters->put("REPORT_DIR", $URLBASE);
        $print = $jfm->fillReport($report, $parameters, $Conn->getConnection());
        $filem = time();
        $rutahastafichero = "/coreg2_cache/{$SYS["ASCACHEDIR"]}/{$filem}.pdf";
        $finalname = session_save_path() . $rutahastafichero;
        $jem = new JavaClass("net.sf.jasperreports.engine.JasperExportManager");
        $jem->exportReportToPdfFile($print, $finalname);
        //echo $jem->exportReportToPdf($print);
        ob_end_clean();
        if (file_exists($finalname)) {
            header("Content-Type: application/pdf");
            header("Content-Disposition: inline; filename=\"{$informe}.pdf\"");
            readfile($finalname);
        }
    } else {
        echo "Errors";
    }
} catch (JavaException $ex) {
    $trace = new Java("java.io.ByteArrayOutputStream");
    $ex->printStackTrace(new Java("java.io.PrintStream", $trace));
    debug("java stack trace: {$trace}\n", "red");
    ob_end_clean();
コード例 #7
0
 public function execute($output, Doctrine_Connection $con = null)
 {
     require_once sfConfig::get('psdf_report_java_inc');
     //Declare the paths where the JRXML Reports are stored)
     $reportFileName = sfConfig::get('psdf_report_dir') . DIRECTORY_SEPARATOR . $this->getFileName();
     $salidaFileName = tempnam(sys_get_temp_dir(), 'jr') . '.' . $output;
     if (!file_exists($reportFileName)) {
         throw new sfException(sprintf('Verificar el archivo <strong>%s</strong> del reporte <strong>%s</strong> no existe en <strong>%s</strong>', $this->getFileName(), $this->getName(), sfConfig::get('psdf_reports_dir')));
     }
     // Corrigo posibles rutas incorrectas en imagenes
     $jrxml = new psdfJrXml($reportFileName);
     $jrxml->fixPathImages(sfConfig::get('psdf_report_resource_dir'));
     $jrxml->file_save();
     // Parametros (a que sea dinamico)
     /* $params['fecha_desde'] = $this->getRequestParameter('fechadesde');
        $params['fecha_hasta'] = $this->getRequestParameter('fechahasta');
        $params['unidadorg_origen'] = $this->getRequestParameter('unidadorg');
        $params['nombre_unidadorg'] = $this->getRequestParameter('rel_busca_unidad');  */
     //Begin the Procedure for the Report
     try {
         // recupera los datos de conexion a la base de datos
         $datos = psdfReportPluginUtil::dataConnection($this->getConnection());
         // Create the JDBC Connection
         $Conn = new Java("org.altic.jasperReports.JdbcConnection");
         // Call the driver to be used
         $Conn->setDriver("org.postgresql.Driver");
         // Connection URL (since it is in the server, it can be defined as localhost)
         $Conn->setConnectString(sprintf("jdbc:postgresql://%s/%s", $datos['host'], $datos['dbname']));
         $Conn->setUser($datos['username']);
         $Conn->setPassword($datos['password']);
         // Compile the JRXML in Jasper
         $sJcm = new JavaClass("net.sf.jasperreports.engine.JasperCompileManager");
         $report = $sJcm->compileReport($reportFileName);
         //Mapping fields (please refer to the note on top)
         $map = new Java("java.util.HashMap");
         // Parametros
         /*foreach ($this->getParametroConsultas() as $param) {
               $value = $this->getParam($param->getNombre());
               if ($param->getTipo() == 'A') {
                   $map->put($param->getNombre(), $value);
               } else if ($param->getTipo() == 'N') {
                   $map->put($param->getNombre(), new Java('java.lang.Integer', $value));
               } else {// si no es ni A y N es D
                   // Convierto la fecha a dd/MM/yyyy
                   //$fecha = substr($value,0,2).'/'.substr($value,3,2).'/'.substr($value,6,4);
                       $temp = new Java('java.text.SimpleDateFormat', "dd/MM/yyyy");
                   $date = $temp->parse($value);
                   //die('fecha '.$date);
                   $map->put($param->getNombre(), $date);
               }
           }*/
         // What we are using to fill the model
         $sJfm = new JavaClass("net.sf.jasperreports.engine.JasperFillManager");
         $print = $sJfm->fillReport($report, $map, $Conn->getConnection());
         // Export the final report format to pdf u other
         $sJem = new JavaClass("net.sf.jasperreports.engine.JasperExportManager");
         // a pdf
         if ($output == PluginPsdfReportTable::TO_PDF) {
             $sJem->exportReportToPdfFile($print, $salidaFileName);
             psdfReportPluginUtil::download($salidaFileName, $this->getName() . '.' . $output);
         }
     } catch (JavaException $ex) {
         $trace = new Java("java.io.ByteArrayOutputStream");
         $ex->printStackTrace(new Java("java.io.PrintStream", $trace));
         throw new sfException('java stack trace: ' . $trace);
     }
 }
コード例 #8
0
ファイル: Jasper.php プロジェクト: aagusti/padl-tng
 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();
 }
コード例 #9
0
 try {
     java_require($java_library_path);
     $Conn = new Java("org.altic.jasperReports.JdbcConnection");
     // driver
     $Conn->setDriver("com.mysql.jdbc.Driver");
     // url de connexion
     $Conn->setConnectString("jdbc:mysql://localhost/erpmart");
     $Conn->setUser("root");
     // mot de passe
     $Conn->setPassword(null);
     $sJcm = new JavaClass("net.sf.jasperreports.engine.JasperCompileManager");
     $report = $sJcm->compileReport($reportsPath . $reportFileName . ".jrxml");
     $sJfm = new JavaClass("net.sf.jasperreports.engine.JasperFillManager");
     $print = $sJfm->fillReport($report, new Java("java.util.HashMap"), $Conn->getConnection());
     $sJem = new JavaClass("net.sf.jasperreports.engine.JasperExportManager");
     $sJem->exportReportToPdfFile($print, $reportsPath . $reportFileName . ".pdf");
     if (file_exists($reportsPath . $reportFileName . ".pdf")) {
         header('Content-disposition: attachment; filename="' . $reportFileName . '.pdf"');
         header('Content-Type: application/pdf');
         header('Content-Transfer-Encoding: binary');
         header('Content-Length: ' . @filesize($reportsPath . $reportFileName . ".pdf"));
         header('Pragma: no-cache');
         header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
         header('Expires: 0');
         set_time_limit(0);
         @readfile($reportsPath . $reportFileName . ".pdf") or die("problem occurs.");
     }
 } catch (JavaException $ex) {
     $trace = new Java("java.io.ByteArrayOutputStream");
     $ex->printStackTrace(new Java("java.io.PrintStream", $trace));
     print "java stack trace: {$trace}\n";