PDF

Mengubah HTML menjadi PDF di Codeigniter Framework Menggunakan Library DomPDF

Sebelum memulai download dahulu library DomPdf disini lalu extract folder dan pindahkan ke dalam folder application\\libraries 

 

Kemudian buat satu file baru dengan nama dompdf_lib.php di folder application\\libraries  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// Dompdf namespace
\tuse Dompdf\\Dompdf;
\tclass Dompdf_lib
\t{
\t    public function __construct(){ 
\t        // require_once autoloader
\t        require_once dirname(__FILE__).'/dompdf_0.8.3/autoload.inc.php';
\t        $pdf = new DOMPDF();
\t        $CI =& get_instance();
\t        $CI->dompdf = $pdf;
\t    }
\t}

?>

Selanjutnya buat satu file baru dengan new_helper.php di folder application\\helpers dan copy syntax dibawah ini :

<?php defined('BASEPATH') OR exit('No direct script access allowed');
  // generate domPDF
  function dom_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('dompdf_lib');
      $ci->dompdf->loadHtml($html);
      // setup size
      $ci->dompdf->setPaper('A4', 'portrait');
      // Render the HTML as PDF
      $ci->dompdf->render();
      // Output  PDF (1 = download and 0 = preview)
      $ci->dompdf->stream($name_file, array("Attachment" => 0));
  }

?>

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    \tdom_generate("welcome.pdf", "welcome_message", $data);
\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.

Menggunakan Library DomPDF

DomPDF adalah library PHP populer untuk mengkonversi HTML dan CSS menjadi PDF. Library ini mendukung sebagian besar spesifikasi CSS2.1 dan beberapa fitur CSS3.

Instalasi via Composer

composer require dompdf/dompdf

Implementasi di CodeIgniter

<?php
require_once APPPATH . 'third_party/dompdf/vendor/autoload.php';

use Dompdf\Dompdf;

$dompdf = new Dompdf();
$html = '<h1>Invoice #001</h1>';
$html .= '<table border="1">';
$html .= '<tr><td>Item</td><td>Harga</td></tr>';
$html .= '<tr><td>Produk A</td><td>Rp 100.000</td></tr>';
$html .= '</table>';

$dompdf->loadHtml($html);
$dompdf->setPaper('A4', 'portrait');
$dompdf->render();
$dompdf->stream('invoice.pdf');
?>

Plus DomPDF

  • Mendukung CSS inline dan external stylesheet
  • Bisa menggunakan custom font
  • Mendukung gambar dari URL atau base64
  • Gratis dan open source


0 Comments


Leave a Reply

Comments with links or spam keywords will be rejected.
Scroll to Top