Sebelum memulai download dahulu library Html2pdf disini lalu extract folder dan pindahkan ke dalam folder applicationlibraries
Kemudian buat satu file baru dengan nama html2pdf_lib.php di folder applicationlibraries dan copy syntax dibawah ini dan sesuaikan require_once dengan nama folder library yang tadi di extract.
<?php defined('BASEPATH') OR exit('No direct script access allowed');</code><br /><br /><code class="language-php">\t// Html2Pdf namespace</code><br /><code class="language-php">\tuse Spipu
Html2Pdf
Html2Pdf;</code><br /><code class="language-php"> \tuse Spipu
Html2Pdf
Exception
Html2PdfException;</code><br /><code class="language-php"> \tuse Spipu
Html2Pdf
Exception
ExceptionFormatter;</code><br /><br /><code class="language-php">\tclass Html2pdf_lib</code><br /><code class="language-php">\t{</code><br /><code class="language-php">\t public function __construct(){ </code><br /><code class="language-php">\t // require_once autoloader </code><br /><code class="language-php">\t require_once dirname(__FILE__).'/html2pdf_5.2.2.0/vendor/autoload.php';</code><br /><code class="language-php">\t $pdf = new Html2Pdf('P', 'A4', 'fr');</code><br /><code class="language-php">\t $CI =& get_instance();</code><br /><code class="language-php">\t $CI->html2pdf = $pdf;</code><br /><code class="language-php">\t }</code><br /><code class="language-php">\t}</code><br /><code class="language-php">?> Selanjutnya buat satu file baru dengan new_helper.php di folder applicationhelpers dan copy syntax dibawah ini :
<?php defined('BASEPATH') OR exit('No direct script access allowed');</code><br /><code class="language-php"> // generate htmlPDF</code><br /><code class="language-php"> function html_generate($name_file, $file_html, $data)</code><br /><code class="language-php"> {</code><br /><code class="language-php"> $ci = &get_instance();</code><br /><code class="language-php"> $data['data'] = $data;</code><br /><code class="language-php"> $ci->load->view($file_html, $data);</code><br /><code class="language-php"> // Get output html</code><br /><code class="language-php"> $html = $ci->output->get_output();</code><br /><code class="language-php"> // Load pdf library</code><br /><code class="language-php"> $ci->load->library('html2pdf_lib');</code><br /><code class="language-php"> ob_start();</code><br /><code class="language-php"> $content = $html;</code><br /><code class="language-php"> ob_clean();</code><br /><code class="language-php"> $ci->html2pdf->setDefaultFont('Arial');</code><br /><code class="language-php"> $ci->html2pdf->pdf->SetDisplayMode('fullpage');</code><br /><code class="language-php"> $ci->html2pdf->writeHTML($content);</code><br /><code class="language-php"> $ci->html2pdf->Output($name_file);</code><br /><code class="language-php"> }</code><br /><code class="language-php">?> Dan Terakhir buat satu file controller dengan nama Export_pdf.php dan copy syntax dibawah ini :
<?php defined('BASEPATH') OR exit('No direct script access allowed');</code><br /><code class="language-php">\tclass Export_pdf extends CI_Controller {</code><br /><code class="language-php">\t\tfunction __construct() {</code><br /><code class="language-php">\t\t\tparent::__construct();</code><br /><code class="language-php">\t\t\t$this->load->helper(array('url', 'html', 'new'));</code><br /><code class="language-php">\t\t}</code><br /><br /><code class="language-php">\t\t function get_pdf_test(){</code><br /><code class="language-php">\t\t $data = array(</code><br /><code class="language-php">\t\t 'title' => 'Add PDF | ERP',</code><br /><code class="language-php">\t\t 'remarks' => 'Pdf Sample'</code><br /><code class="language-php">\t\t );</code><br /><code class="language-php">\t \thtml_generate("welcome.pdf", "<span style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; font-size: medium; white-space: normal;">welcome_message</span>", $data);<br /></code><code class="language-php">\t \t}</code><br /><code class="language-php">\t}</code><br /><code class="language-php">?> Sampai disini proses mengubah html menjadi pdf sudah selesai dan hasil akhir akan menampilkan halaman welcome_message.php dalam bentuk pdf. Untuk selanjutnya silahkan di modifikasi sendiri sesuai dengan kebutuhan.
Selamat mencoba, terima kasih.
Apa itu Html2pdf?
Html2pdf adalah library PHP yang mengkonversi HTML menjadi PDF. Library ini sangat cocok untuk membuat laporan, invoice, atau dokumen lainnya dari template HTML.
Langkah 1: Instal Html2pdf
Menggunakan Composer
composer require spipu/html2pdf
Langkah 2: Implementasi di CodeIgniter
<?php
// Load library
require_once APPPATH . 'third_party/html2pdf/vendor/autoload.php';
// Buat instance
$html2pdf = new \Spipu\Html2Pdf\Html2Pdf('P', 'A4', 'en');
//
Set content HTML
$html = '<h1>Laporan Bulanan</h1>';
$html .= '<p>Isi laporan...</p>';
$html .= '<table>...</table>';
$html2pdf->writeHTML($html);
$html2pdf->output('laporan.pdf');
?>
Tips Penggunaan
- Gunakan CSS inline untuk styling yang konsisten
- Hindari CSS complex yang tidak didukung
- Test dengan berbagai ukuran kertas (A4, Letter, dll)
- Gunakan page break untuk mengontrol layout multi-halaman