Cetak PDF dari HTML pada Codeigniter 3.0

Sebisa mungkin saya berusaha menuliskan apa-apa yang merupakan hal baru yang saya temui dan cukup menarik serta yang kedepannya bakal digunakan lagi sehingga ketika lupa saya bisa merujuk kembali kepada tulisan yang pernah saya buat untuk mengingatnya.

HTML2PDF CI

Salah satu hal tersebut adalah mencetak sebuah dokumen PDF yang berasal dari HTML. Biasanya saya kalau mencetak dokumen PDF menggunakan template yang didesain pada Crystal Report atau dulu menggunakan iReport (sekarang sudah lupa 😀 ).

Ada tugas kecil yang saya anggap Codeigniter cukup untuk menanganinya, jadi ya tutorial ini akan menggunakan Codeigniter bukan ASP.NET MVC 😛

Config untuk composer

Saya baru tahu kalau ternyata Codeigniter (sudah) bisa menggunakan composer (maklum bukan pengikut aliran PHP). Tadinya saya berniat untuk mendownload library yang dibutuhkan secara manual tetapi begitu tahu bisa menggunakan composer ya gunakan composer aja.

Kalau belum menginstal composer di komputer kalian silahkan lihat caranya di sini

Buka “application/config/config.php”, ubah pada bagian “composer_autoload” menjadi

Install dompdf via composer

Dompdf adalah sebuah library yang akan kita gunakan untuk mengubah sebuah dokumen HTML menjadi PDF. Untuk menggunakan dompdf kita perlu menginstalnya terlebih dahulu menggunakan composer. Pada root folder terdapat sebuah file dengan nama composer.json, buka file tersebut kemudian ubah menjadi seperti berikut

Setelah itu jalankan perintah “composer update” untuk menginstal dompdf.

Membuat PdfGenerator library

Setelah dompdf terpasang maka kita sudah siap menggunakannya untuk mencetak PDF dari HTML. Supaya kodingan kita rapi kita perlu membuat sebuah kelas library yang dipanggil di controller untuk mencetak dokumen PDF.

Buat sebuah kelas baru dengan nama “PdfGenerator” pada folder “application/libraries”

Kelas diatas memanfaatkan kelas DOMPDF yang sudah kita instal untuk mencetak PDF. Bisa dilihat kalau penggunaan dompdf sangatlah mudah.

Btw saya menambahkan parameter array(“Attachment”=>0) pada method stream supaya dokumen PDF dipreview terlebih dahulu pada browser, tanpa parameter ini maka dokumen akan langsung didownload.

Membuat Template Html

Langkah selanjutnya membuat template HTML yang akan dibuat menjadi PDF. Sebagai contoh saya buat seperti ini

Controller

Buat controller baru dengan nama “Report” dan ketikkan kode berikut

Pada controller sengaja saya gunakan data statis karena saya anggap pembaca sudah paham bagaimana cara untuk mendapatkan data yang dinamis dari database, alasan lainnya karena saya malas untuk membikin database 😉 . Terlepas dari itu coba lihat kembali controller di atas, memanggil library yang sudah kita buat pada langkah sebelumnya kemudian memanggil method generate dengan parameter yang dibutuhkan.

Jalankan controller di atas maka berikut adalah hasilnya

1. html to pdf

Kesimpulan dan Penutup

Beberapa kesimpulan yang bisa ditarik adalah ternyata Codeigniter bisa menggunakan composer dan dengan menggunakan library dompdf kita bisa mencetak dokumen PDF dari sebuah template HTML.

Semoga tulisan ini bermanfaat dan semoga tidak dicaci para kaum kontra Codeigniter 😛

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

26 thoughts on “Cetak PDF dari HTML pada Codeigniter 3.0

  1. Gan, ane coba malah dapet yang kayak gini

    “Fatal error: Class ‘DOMPDF’ not found in ****\libraries\pdfGenerator.php on line 14

    Step dah disesuaikan dengan tutorial. Tp dapet error spt di atas. Mohon pencerahan

  2. Terima Kasih banyak Pak Agung, Tutorial yang Pak Agung Sajikan dalam artikel ini begitu membantu saya dalam menyelesaikan tugas proyek web saya.

      1. udah saya coba mas,
        di html biasa, gambarnya muncul
        setelah saya coba ke pdf, ngak muncul mas ?
        hehe
        mohon petunjuk nya lagi mas ?
        makasih

  3. 404 Page Not Found

    The page you requested was not found.

    padahal routes sudah sy arahin k controller, knp ya mas kira2? baru newbie mas, mohon bimbingannya.. 😀

  4. bagaimana caranya agar semua codenya terbaca di pdf, java script, css, jquery, dll.
    saya sudah coba tapi, g terbaca.
    kode-kode yang ada di assest (saya menggunakan boostrap)…
    terima kasih.

  5. An uncaught Exception was encountered

    Type: Error

    Message: Class ‘Dompdf’ not found

    Filename: C:\xampp\htdocs\dompdf\application\controllers\Welcome.php

    Line Number: 32

    Backtrace:

    File: C:\xampp\htdocs\dompdf\index.php
    Line: 315
    Function: require_once

    Mohon Bantuannya mas agung di saya masalahnya gini. gimana cara nganinnya

Leave a Reply

Your email address will not be published. Required fields are marked *