Menggunakan Library FPDF Pada Codeigniter Untuk Export To PDF

Menggunakan Library FPDF Pada Codeigniter Untuk Export To PDF

Selamat sore, Neo mau sharing lagi nih. Kali ini tentang bagaimana cara mengconvert data yang ada pada database agar dapat disajikan dalam bentuk PDF. Kali ini saya akan mensharing penggunaannya menggunakan framework Codeigniter.

defaultPortfolioCoverSheet   

 Sebelumnya ada banyak plugins yang dapat digunakan untuk mengubah data pada database kedalam format PDF. Tapi kali ini saya akan menggunakan plugins FPDF karena kemudahan yang ditawarkannya. fpdf   

 Sebelumnya ada asumsi-asumsi yang saya tentukan yaitu :
  1. Anda telah mengerti tentang bagaimana cara mengambil data dari database;
  2. Anda mengerti tentang fungsi-fungsi dasar PHP

Langsung saja, berikut adalah langkah-langkahnya : 

  • Download FPDF pada tautan ini  
  • Extrak file fpdf.php pada folder 'application/library/' 3. 
  • Extract folder 'fonts' pada folder 'system/' 4. 
  • Tambahkan syntax berikut pada file 'application/config/config.php' setelah $config['base_url']
            $config['fonts_path']= 'system/fonts/';

  • Buat fungsi pada controller, misal pada controller laporan.php dengan syntax sebagai berikut :
function download() { define('FPDF_FONTPATH',$this->config->item('fonts_path')); $query = $this->db->query("SELECT * from class")->result(); $data['hasil'] = $query; // Load view "pdf_report" untuk menampilkan hasilnya $this->load->view('page_laporan', $data); }

  • Buat halaman view dengan nama file 'page_laporan.php'
fpdf->FPDF("P","cm","A4"); // kita set marginnya dimulai dari kiri, atas, kanan. jika tidak diset, defaultnya 1 cm $this->fpdf->SetMargins(1,1,1); /* AliasNbPages() merupakan fungsi untuk menampilkan total halaman di footer, nanti kita akan membuat page number dengan format : number page / total page */ $this->fpdf->AliasNbPages(); // AddPage merupakan fungsi untuk membuat halaman baru $this->fpdf->AddPage(); // Setting Font : String Family, String Style, Font size $this->fpdf->SetFont('Times','B',12); /* Kita akan membuat header dari halaman pdf yang kita buat -------------- Header Halaman dimulai dari baris ini ----------------------------- */ $this->fpdf->Cell(19,0.7,'Judul',0,0,'C'); // fungsi Ln untuk membuat baris baru $this->fpdf->Ln(); $this->fpdf->Ln(); /* Setting ulang Font : String Family, String Style, Font size kenapa disetting ulang ??? jika tidak disetting ulang, ukuran font akan mengikuti settingan sebelumnya. tetapi karena kita menginginkan settingan untuk penulisan alamatnya berbeda, maka kita harus mensetting ulang Font nya. jika diatas settingannya : helvetica, 'B', '12' khusus untuk penulisan alamat, kita setting : helvetica, '', 10 yang artinya string stylenya normal / tidak Bold dan ukurannya 10 */ $this->fpdf->SetFont('helvetica','',10); $this->fpdf->Cell(19,0.5,'Sub judul',0,0,'C'); $this->fpdf->Ln(); $this->fpdf->Cell(19,0.5,'subtitle',0,0,'C'); /* Fungsi Line untuk membuat garis */ $this->fpdf->Line(1,3.5,20,3.5); $this->fpdf->Line(1,3.55,20,3.55); /* -------------- Header Halaman selesai ------------------------------------------------*/ $this->fpdf->Ln(1); $this->fpdf->SetFont('Times','B',12); $this->fpdf->Cell(19,1,'Header',0,0,'C'); /* setting header table */ $this->fpdf->Ln(1); $this->fpdf->SetFont('Times','B',12); $this->fpdf->Cell(6 , 1, 'ID Lokasi' , 1, 'LR', 'L'); $this->fpdf->Cell(5 , 1, 'Latitude' , 1, 'LR', 'L'); $this->fpdf->Cell(5 , 1, 'Longitude' , 1, 'LR', 'L'); $this->fpdf->Cell(3 , 1, 'Hasil' , 1, 'LR', 'L'); /* generate hasil query disini */ foreach($hasil as $data) { $this->fpdf->Ln(); $this->fpdf->SetFont('Times','',12); $this->fpdf->Cell(6 , 0.7, $data->id , 1, 'LR', 'L'); $this->fpdf->Cell(5 , 0.7, $data->lati , 1, 'LR', 'L'); $this->fpdf->Cell(5 , 0.7, $data->longi , 1, 'LR', 'L'); //$this->fpdf->Cell(10 , 0.7, $data->alamat , 1, 'LR', 'L'); $this->fpdf->Cell(3 , 0.7, $data->nilai , 1, 'LR', 'L'); } /* setting posisi footer 3 cm dari bawah */ $this->fpdf->SetY(-3); /* setting font untuk footer */ $this->fpdf->SetFont('Times','',10); /* setting cell untuk waktu pencetakan */ $this->fpdf->Cell(9.5, 0.5, 'Printed on : '.date('d/m/Y H:i').' | Created by : M. Fadli Prathama',0,'LR','L'); /* setting cell untuk page number */ $this->fpdf->Cell(9.5, 0.5, 'Page '.$this->fpdf->PageNo().'/{nb}',0,0,'R'); /* generate pdf jika semua konstruktor, data yang akan ditampilkan, dll sudah selesai */ $this->fpdf->Output("laporan_seleksi_calok_atm.pdf","I"); ?>
  • Setelah selesai, berikut adalah contoh outputnya :

IKUTI TRIAL KURSUS ONLINE

IKUTI TRIAL KURSUS ONLINE

NAMA PESERTA TEST & PENERIMA BEASISWA

  
  
Loading...



23 June 2014 ADMIN Bagikan di Twitter Bagikan di Facebook Bagikan di Google+ Bagikan di Google+

Artikel menarik lainnya



Previous Post King Of Fighter Release Terbaru Untuk Android & IOS Next Post Google Rancang Virtual Reality Dari Karton