Rabu, 20 Juli 2011

Menggunakan Dompdf di Code Igniter

Pada kali ini saya akan berbagi hasil code yang saya gunakan untuk mengenerate file pdf secara otomatis menggunakan php. Sebenarnya banyak sekali library yang dapat digunakan untuk mengenerate file berbentuk pdf seperti Fpdf,Tcpdf,dan Dompdf sendiri. Saya pun mencoba satu persatu,dan jatuh pilihan pada dompdf,karena menurut saya ini library yang sangat simple, karena mengenerate halaman HTML langsung ke PDF, jadi kita tinggal membuat halaman HTML biasa dan secara otomatis akan digenerate ke pdf oleh dompdf.
Okee... langsung saja
1. Pertama download dahulu Dompdf disini
2. Pada kasus ini saya menggunakan CI 2.0. karena pada CI 2.0 folder plugins sudah dihilangkan maka taruh file  hasil download an tadi ke folder helper.
3. Kemudian buat script di bawah ini sebagai pemanggil dompdf yang terkoneksi framework CI. berikan nama to_pdf_helper *karena di ci ditaruh di helper maka gunakan _helper setelah nama file. dan ingat tidak ada tag penutup php("?>") dicode ini.
load_html($html);
 $dompdf->set_paper("A4");
    $dompdf->render();
    if ($stream) {
        $dompdf->stream($filename.".pdf");
    } else {
        $CI =& get_instance();
        $CI->load->helper('file');
        write_file("./uploads/$filename.pdf", $dompdf->output());
    }
}
4. Kemudia buat fungsi pdf yang digunakan untuk memanggil view dari halaman html yang akan kita generate dan memanggil fungsi dompdf itu sendiri.
function pdf()
 {
     $this->load->helper('to_pdf');  
     $data =array('nip'=>$this->input->post('nip'), 'nama'=>$this->input->post('nama'),
     'email'=>$this->input->post('email'),'tempat_lahir'=>$this->input->post('tempat_lahir'),
     'tgl_lahir'=>$this->input->post('tgl_lahir'),'jabatan'=>$this->input->post('jabatan')
     );
 $html = $this->load->view('cetak', $data, true);
        pdf_create($html,$data['nip']);
   } 



#sedikit penjelasan code di atas bahwa pertama yang harus dilakukan adalah mengeload helper to_pdf yang sebelumnya kita buat dengan sintaks $this->load->helper('to_pdf').
#Kemudian kita masukan variabel yang akan dibutuhkan pada halaman html yang akan digenerate, pada contoh diatas saya menggunakan array dengan nama $data.
#pada sintaks $html=$this->load->view('cetak',$data, true); maksud dari sintaks disamping adalah kita memanggil view dengan nama cetak.php dan mengirimkan variabel $data yang digunakan untuk mengisi variabel pada halaman cetak.php dan dimasukan pada variabel $html.
#pdf_create($html,$dara['nip']); sintaks disamping berfungsi untuk mengenerate file dari $html,dengan nama nip(pegawai).pdf. karena saya ingin membuat nama file sesuai dengan nip pegawai.

semoga sharing code diatas bermanfaat.

Selasa, 19 Juli 2011

Combo Box Dinamis di JAVA

Combo Box dinamis di JAVA,,yah problem ini yang sudah membuat saya tiga jam di depan laptop kesayangan sejak bangun tidur pagi hari tadi. Pada kasus ini saya bermaksud untuk menampilkan list value combo box yang diambil langsung dari database MySQL. Kalau di php mungkin ini bukanlah hal yang sulit, tetapi setelah saya coba di java ternyata bisa dibilang sangat rumit sekali kalo ingin memebuat combo box dinamis yang langsung diambil dari database.
okee langsung saja  disini saya  menggunakan IDE NetBeans.
1. Langkah pertama saya membuat class Database yang digunakan untuk melakukan query ke database MySQL.
public class Database {


private String dbuser="root";
private String dbpass="";
private String url="jdbc:mysql://localhost/pt_inti11";
private String driver="org.gjt.mm.mysql.Driver";
private Statement stm=null;
private Connection con=null;
private ResultSet rs=null;
public Database() throws Exception{
    Class.forName(driver);
    con=DriverManager.getConnection(url,dbuser,dbpass);
    stm=con.createStatement();
}
public ResultSet GetData(String SQLString)throws Exception{
     rs=stm.executeQuery(SQLString);
     return rs;
}
public void Query(String SQLString)throws Exception{
    stm.executeUpdate(SQLString);
}
}
2. Kemudian kita buat Class TypeEntry, class ini digunakan sebagai class buffer sebelum nanti dimasukan pada combo box.
public class TypeEntry {
    private int  value;
    private String label;

    public TypeEntry(int id,String label){
        this.value= id;
        this.label = label;
    }

    public int getValue(){
        return this.value;

    }

    public String getLabel(){
        return this.label;
    }

}

3. Langkah yang ketiga kita edit combo box nya supaya menghasilkan value list yang dinamin. caranya klik kanan pada combo box kemudian pilih customize code. kemudian masukkan codingan berikut ini pada halaman tersebut.
jComboBox1 = new javax.swing.JComboBox();
jComboBox1.removeAllItems();
try {
Database data = new Database();
String q ="select id_permohonan,permohonan from permohonan"; 
ResultSet rs = data.GetData(q);
while (rs.next()){
 jComboBox1.addItem(new TypeEntry(rs.getInt(1),rs.getString(2).trim()).getLabel()); 

}
}
catch(Exception ex) {

}

Bisa dilihat pada code diatas bahwa di dalam customize code combo box akan dilakukan proses query ke database kemudian akan ditambilkan label yang saya inginkan. di codingan di atas juga terdapat proses pembentukan objek dari class TypeEntry dari class yang sudah saya buat sebelumnya, hal ini dikarenakan pada addItem hanya bisa menambahkan type Objek makanya kegunaan dari file TypeEntry tadi digunakan sebagai buffer untuk membentuk objek terlebih dahulu.

Mungkin ini dahulu code yang dapat saya share hari ini, yang sudah membuat kepala pusing tiga jam karena sering menemukan error-error.
Semoga bermanfaat....

Popular Posts

Pages

Followers

Featured Posts