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');
\t// Html2Pdf namespace
\tuse Spipu
Html2Pdf
Html2Pdf;
\tuse Spipu
Html2Pdf
Exception
Html2PdfException;
\tuse Spipu
Html2Pdf
Exception
ExceptionFormatter;
\tclass Html2pdf_lib
\t{
\t
public function __construct(){
\t
// require_once autoloader
\t require_once dirname(__FILE__).'/html2pdf_5.2.2.0/vendor/autoload.php';
\t $pdf = new Html2Pdf('P', 'A4', 'fr');
\t $CI =&
get_instance();
\t $CI->html2pdf = $pdf;
\t
}
\t}
?> 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');
// generate htmlPDF
function html_generate($name_file, $file_html, $data)
{
$ci = &get_instance();
$data['data'] = $data;
$ci->load->view($file_html, $data);
// Get output html
$html = $ci->output->get_output();
// Load pdf library
$ci->load->library('html2pdf_lib');
ob_start();
$content = $html;
ob_clean();
$ci->html2pdf->setDefaultFont('Arial');
$ci->html2pdf->pdf->SetDisplayMode('fullpage');
$ci->html2pdf->writeHTML($content);
$ci->html2pdf->Output($name_file);
}
?> 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');
\tclass Export_pdf extends CI_Controller {
\t\tfunction __construct() {
\t\t\tparent::__construct();
\t\t\t$this->load->helper(array('url', 'html', 'new'));
\t\t}
\t\t function get_pdf_test(){
\t\t $data = array(
\t\t 'title' => 'Add PDF | ERP',
\t\t 'remarks' => 'Pdf Sample'
\t\t );
\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 />
\t \t}
\t}
?> 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