Kaskus

Tech

Pengaturan

Mode Malambeta
Gambar

Lainnya

Tentang KASKUS

Pusat Bantuan

Hubungi Kami

KASKUS Plus

© 2024 KASKUS, PT Darta Media Indonesia. All rights reserved

okzfaruoqiAvatar border
TS
okzfaruoqi
Zend Framework Lounge
Zend Framework
Quote:


Rule in here
:

Spoiler for "Rule":


Quote:


e book Zend Framework yang ane punya:

Quote:



tambahan lagi video tutorial integrasi ZF ma netbeans gan,jdi editornya netbeans :
Quote:




Quote:


download Zend Framework :
Quote:




Langkah Langkah menguasai Zend Framework :
Quote:


Quote:




Index Tutorial


Quote:


Quote:



regards...
*nb : tolong rate ya gan biar tambah awet ne lapak ...

emoticon-thumbsup

*thanks juga yg udh ngasih ijo ... emoticon-thumbsupemoticon-Big Grin


Zend Framework Lounge
0
47.4K
1.1K
GuestAvatar border
Komentar yang asik ya
Mari bergabung, dapatkan informasi dan teman baru!
Templates & Scripts Stuff
Templates & Scripts Stuff
KASKUS Official
2.5KThread681Anggota
Tampilkan semua post
PusHm0vAvatar border
PusHm0v
#142
Make Jasper Report dengan Zend Framework
Coba sharing gimana make/manggil jasper dari Zend dengan library PHPJavaBridge emoticon-Smilie

PHP Code:
class JasperController extends Zend_Controller_Action
{
    private 
$reportPath
    private 
$javaOutputStream
    private 
$dbhost,$dbname,$dbuser,$dbpass;
    
    public function 
init()
    {        
        
$options $this->getInvokeArg(&#039;bootstrap&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>->getOptions();
        
        
$this->reportPath $options[&#039;jasper']['reportPath']; //directory/folder file jasper ( .jrmxl )
        
$this->javaBridge $options[&#039;jasper']['javaBridge']; //directory / folder library PHP JavaBridge
        
        
$this->dbhost $options[&#039;resources']['db']['params']['host']; //hostname database
        
$this->dbname $options[&#039;resources']['db']['params']['dbname']; //nama database
        
$this->dbuser $options[&#039;resources']['db']['params']['username']; //user database
        
$this->dbpass $options[&#039;resources']['db']['params']['password']; //password database

        
include_once($this->javaBridge."java/Java.inc");
        
        
$this->javaOutputStream = new java("java.io.ByteArrayOutputStream");
    }


private function getParam($params)
    {
        
$newParam = new Java("java.util.HashMap");
        foreach (
$params as $param => $value)
        {
            
$newParam->put($param$value);
        }
        
$newParam->put(&#039;SUBREPORT_DIR',$this->reportPath);
        
return $newParam;
    }

private function getReport($type=&#039;pdf',$params,$filename='report.jrmxl',$outputname='report&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>
    
{
try
        
{
            
$Conn = new Java("org.altic.jasperReports.JdbcConnection"); 
            
$Conn->setDriver("com.mysql.jdbc.Driver");
            
$Conn->setConnectString("jdbc:mysql://" $this->dbhost "/" $this->dbname);
            
$Conn->setUser($this->dbuser);
            
$Conn->setPassword($this->dbpass);
            
            
$arrayParam $this->getParam($params);
            
$compileManager = new JavaClass("net.sf.jasperreports.engine.JasperCompileManager");
            
$report $compileManager->compileReport($this->reportPath $filename);
            
            
$fillManager = new JavaClass("net.sf.jasperreports.engine.JasperFillManager");
            
$jasperPrint $fillManager->fillReport($report$arrayParam,$Conn->getConnection());
            
            
$outputPath =$this->reportPath $outputname . &#039;.' . $type;
            
            
set_time_limit(120); 
 
            
java_set_file_encoding("ISO-8859-1"); 
             if (
$type == &#039;pdf&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>
             
{
                
$exporter = new java("net.sf.jasperreports.engine.export.JRPdfExporter"); 
                
$exParm java("net.sf.jasperreports.engine.JRExporterParameter"); 
                
$exporter->setParameter($exParm->JASPER_PRINT$jasperPrint); 
                
$exporter->setParameter($exParm->OUTPUT_STREAM$this->javaOutputStream); 
                
$exporter->exportReport(); 
         
                
header(&#039;Content-Type: application/pdf&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>; 
                
header(&#039;Content-Transfer-Encoding: binary&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>; 
                
header(&#039;Content-disposition: attachment; filename="'.$outputname.'.pdf"&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>; 
                
header(&#039;Pragma: no-cache&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>; 
                
header(&#039;Cache-Control: must-revalidate, post-check=0, pre-check=0&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>; 
                
header(&#039;Expires: 0&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>; 
         
                
echo java_cast($this->javaOutputStream->toByteArray(),"S"); 
        
             }
             elseif (
$type == &#039;xls&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>
             
{
             
$exporter = new java("net.sf.jasperreports.engine.export.JExcelApiExporter");
                
$exParm java("net.sf.jasperreports.engine.JRExporterParameter"); 
                
$exXlsParm java("net.sf.jasperreports.engine.export.JRXlsExporterParameter");
                
$exporter->setParameter($exParm->JASPER_PRINT$jasperPrint); 
                
$exporter->setParameter($exParm->OUTPUT_STREAM$this->javaOutputStream); 
                
$exporter->setParameter($exXlsParm->IS_ONE_PAGE_PER_SHEETfalse); //Continues, semua data di 1 worksheet
                
$exporter->setParameter($exXlsParm->IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWStrue); //Ilangin space diantara baris, biasana mengakibatkan row gak rapet2 di excel
                
$exporter->setParameter($exXlsParm->IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNStrue); //Idem, tapi buat kolom
                
$exporter->setParameter($exXlsParm->IS_DETECT_CELL_TYPEtrue); //Otomatis detek type cell (numerik, string, etc)
                
$exporter->setParameter($exXlsParm->IS_WHITE_PAGE_BACKGROUNDfalse);
                
$exporter->exportReport(); 
         
                
header(&#039;Content-Type: application/xls&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>; 
                
header(&#039;Content-Transfer-Encoding: binary&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>; 
                
header(&#039;Content-disposition: attachment; filename="'.$outputname.'.xls"&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>; 
                
header(&#039;Pragma: no-cache&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>; 
                
header(&#039;Cache-Control: must-revalidate, post-check=0, pre-check=0&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>; 
                
header(&#039;Expires: 0&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>; 
 
        
echo java_cast($this->javaOutputStream->toByteArray(),"S"); 
         
}            
        }
        catch( 
JavaException $e)
        {
            echo 
$e;
        }    
}

public function cetakreportAction()
{
$this->_helper->viewRenderer->setNoRender(); //gak pake view

$type = &#039;pdf'; //output sebagai file PDF, kalo Excel tinggal ganti pake 'xls'

$params = array(&#039;param1' => 'parameter ke 1&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>; //parameter buat si report <img src="https://s.kaskus.id/images/smilies/sumbangan/15.gif" data-sceditor-emoticon=":)" border="0" alt="emoticon-Smilie" title="Smilie"/>    

$this
->getReport($type,$params,&#039;boq3.jrxml','boq3&#039<img src="https://s.kaskus.id/images/smilies/sumbangan/13.gif" data-sceditor-emoticon=";)" border="0" alt="emoticon-Wink" title="Wink"/>; //boq3.jrxml adalah nama file jasper/ireport

}




untuk output excel menurut ane masih kurang bagus, soalna kalo kita design di iReport antar objek (textbox, label, etc) gak dirapet2in ntar ada row/kolom yg digabung/merge otomatis ma si jasper. Walopun kita dah pake option IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS n IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS pas compile report...

CMIIW emoticon-Smilieemoticon-Smilie
0
Ikuti KASKUS di
© 2024 KASKUS, PT Darta Media Indonesia. All rights reserved.