author Ahmad Muhardian

Cara Menggunakan Dompdf di Codeigniter


Dompdf merupakan salah satu pustaka PHP untuk membuat PDF.

Dompdf membuat PDF dari HTML, sehingga lebih praktis. Selain itu juga, Kita bisa menggunakan CSS di dalamnya.

Saat ini Dompdf mendukung CSS versi 2.1.

Untuk menggunakan Dompdf di Codeigniter, silakan ikuti langkah-langkah berikut ini.

1. Aktifkan Autoload Composer

Kita akan menginstal Dompdf melalui Composer.

Karena itu, autoload untuk Composer perlu diaktifkan.

Silakan buka file application/config/config.php, kemudian isi bagian autoload Composer seperti ini.

$config['composer_autoload'] = "vendor/autoload.php";

2. Instal Dompdf

Selanjutnya kita instal dompdf dengan perintah:

composer require dompdf/dompdf

Jalankan perintah tersebut di direktori proyeknya.

Instalasi Dompdf di Codeigniter

Baca juga: Cara Menggunakan Composer pada CodeIgniter

3. Membuat Pustaka Sendiri

Agar tidak menulis ulang kode yang sama di setiap penggunaan Dompdf, kita buat saja pustaka sendiri.

Silakan buat file baru di direktori application/libraries dengan nama pdf.php.

Isinya seperti berikut ini.

<?php defined('BASEPATH') OR exit('No direct script access allowed');
/**
 * CodeIgniter DomPDF Library
 *
 * Generate PDF's from HTML in CodeIgniter
 *
 * @packge        CodeIgniter
 * @subpackage        Libraries
 * @category        Libraries
 * @author        Ardianta Pargo
 * @license        MIT License
 * @link        https://github.com/ardianta/codeigniter-dompdf
 */
use Dompdf\Dompdf;
class Pdf extends Dompdf{
    /**
     * PDF filename
     * @var String
     */
    public $filename;
    public function __construct(){
        parent::__construct();
        $this->filename = "laporan.pdf";
    }
    /**
     * Get an instance of CodeIgniter
     *
     * @access    protected
     * @return    void
     */
    protected function ci()
    {
        return get_instance();
    }
    /**
     * Load a CodeIgniter view into domPDF
     *
     * @access    public
     * @param    string    $view The view to load
     * @param    array    $data The view data
     * @return    void
     */
    public function load_view($view, $data = array()){
        $html = $this->ci()->load->view($view, $data, TRUE);
        $this->load_html($html);
        // Render the PDF
        $this->render();
            // Output the generated PDF to Browser
               $this->stream($this->filename, array("Attachment" => false));
    }
}

Kode di atas merupakan class exstends dari class Dompdf.

4. Membuat Controller

Buat sebuah fungsi di dalam Controller untuk menggunakan pustaka yang baru saja kita buat.

public function laporan_pdf(){

    $data = array(
        "dataku" => array(
            "nama" => "Petani Kode",
            "url" => "http://petanikode.com"
        )
    );

    $this->load->library('pdf');

    $this->pdf->setPaper('A4', 'potrait');
    $this->pdf->filename = "laporan-petanikode.pdf";
    $this->pdf->load_view('laporan_pdf', $data);


}

File view yang di-load bernama laporan_pdf, berarti kita harus membuat file view bernama laporan_pdf.php di application/views.

5. Membuat View

File: application/views/laporan_pdf.php

<pre><?php print_r($dataku); ?></pre>

6. Percobaan

Laporan PDF di CodeIgniter menggunakan DomPDF

Begitulah cara menggunakan Dompdf di Codeigniter.

Selebihnya anda bisa bereksperimen sendiri.

Kalau masih belum jelas, bisa cek repositori ini codeigniter-dompdf.