Utilities 04 Aug 2021 399 views 0 komentar

Mengubah HTML menjadi PDF di Codeigniter Framework Menggunakan Library Html2pdf

Mengubah HTML menjadi PDF di Codeigniter Framework Menggunakan Library Html2pdf

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
Tags Artikel: #Codeigniter

Bagikan artikel ini:

Komentar (0)

Belum ada komentar. Jadilah yang pertama memberikan tanggapan!

Tinggalkan Komentar