Thursday, March 6, 2014

HTML ke PDF menggunakan dompdf dengan codeigniter

Dua bulan sudah berlalu ditahun 2014. Sekarang memasuki bulan ke tiga. Usia semakin menua tetapi ilmu tidak cepat berkembang karena masih sibuk mempelajari beberapa hal yang sebenarnya sudah seharusnya dikuasai. Banyak hal yang belum diketahui dan harus di pelajari. Sehari hanya disediakan waktu 24 jam dan hampir setengahnya digunakan untuk tidur. Waktu tidak terasa berjalan begitu ceapat walaupun hanya berlalu detik demi detik menit demi menit jam demi jam dan seterusnya. Jadwal yang sudah dibuat untuk mengalahkan waktu terkadang tidak bisa dijalankan karena terlalu lamanya waktu dan kurangnya kekuatan untuk terus bertahan dengan kondisi badan yang tidak bisa selalu prima. Usaha dan upaya untuk tepap hidup dan bertahan harus tetap dilakukan. Salah satunya dengan terus menulis agar tau isi dalam otak ini.

Sebelum ngelantur lebih baik saya menulis tentang beberapa hal yang saya lakukan di codeigniter. Awal membuat sistem menggunakan codeigniter dan dapat selesai walaupun hanya sebuah sistem untuk menampilkan laporan dalam bentuk web saya sudah merasa senang. Masalah selanjutnya muncul saat laporan tersebut akan di print dan di download dalam bentuk pdf. Waktu itu sungguh merasa sangat bodoh dan tidak tau apa yang seharusnya dilakukan. setelah searching-searching banyak tutorial yang memberitahu bagaimana cara membuat laporan dari html ke pdf. Saya tambahkan lagi masalahnya bagaimana membuat laporan pdf dari html menggunakan framework codeigniter. Ternyata dari google saya mengetahui ada beberapa cara penyelesaian yaitu menggunakan dompdf.

 Diasumsikan sudah bisa codeigniter
1. Siapkan codeigniter 2.1.0 atau versi diatasnya juga tidak masalah.
2. download dompdf dari https://code.google.com/p/dompdf/downloads/list pilih yang terbaru
3. extrack dompdf
4. buat new folder di application dengan nama third-party
5. copy semua file dan folder dalam exctract dompdf kedalam folder third-party
6. buat file library di folder application/library dengan format/ nama  Pdf.php
codenya seperti berikut :
------------------------------------------------------------------------------------------------------------
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Pdf {



function pdf_create($html, $filename='', $stream=TRUE){
   require_once(APPPATH."third_party/dompdf_config.inc.php");//Require Loader Class n Config
   spl_autoload_register('DOMPDF_autoload');//Autoload Resource

   ini_set("memory_limit", "999M");
ini_set("max_execution_time", "999");

   $dompdf = new DOMPDF();//Instansiasi
   $dompdf->load_html($html);//Load HTML File untuk dirender
   $dompdf->set_paper(array(0,0, 8.5 * 72, 13.5 * 72),"landscape" ); //array(0,0, 8.5 * 72, 11 * 72)
   $dompdf->render();//Proses Rendering File
   $canvas = $dompdf->get_canvas();
$font = Font_Metrics::get_font("helvetica", "bold");
$canvas->page_text(830, 578, "Halaman: {PAGE_NUM} dari {PAGE_COUNT}", $font, 8, array(0,0,0));
    if ($stream==TRUE) {
$dompdf->stream($filename, array('Attachment'=>0));
    } else {
$CI =& get_instance();
$CI->load->helper('file');
write_file($filename, $dompdf->output());//file name adalah ABSOLUTE PATH dari tempat menyimpan file PDF
    }
}
}
-----------------------------------------------------------------------------------------------------------
7. contoh script membuat pdf dengan dompdf pada controller
-----------------------------------------------------------------------------------------------------------
$this->load->library('pdf);
$this->pdf->pdf_grafik($this->load->view('v_rapj_belanja/v_grafik_rapj_belanja_js',$data,TRUE), 'grafik_realisasi_anggaran_per_jenis_belanja');

1 comment:

  1. contoh scriptnya gk jelas min..
    tolong dijelasin soalnya saya coba error
    makasih

    ReplyDelete