Cara Aktifkan Menggunakan DOMPDF di Codeigniter CSS Versi 2.1.
DOMPDF adalah salah satu pustaka PHP untuk membuat PDF. DOMPDF membuat PDF dari HTML, jadi lebih praktis. Selain itu, kita dapat menggunakan CSS di dalamnya. DOMPDF saat ini mengakui CSS Versi 2.1.
Untuk menggunakan DOMPDF di Codeigniter, ikuti langkah -langkah di bawah ini.
1. Aktifkan Autoload Composer
Kami akan menginstal DOMPDF melalui komposer. Oleh karena itu, autoload untuk komposer harus diaktifkan. buka file application/config.php, lalu lengkapi bagian Autoload Composer seperti ini.
2. Instal Dompdf
Selanjutnya kita instal dompdf dengan perintah:
3. Membuat Pustaka Sendiri
Agar tidak menulis ulang kode yang sama disetiap penggunaan Dompdf, kita buat saja pustaka sendiri.
Silahkan buat file baru di direktori application/libraries dengan nama pdf.php.
Kode di atas merupakan class exstends dari class Dompdf.
4. Membuat Controller
Buat sebuah fungsi di dalam Controller untuk menggunakan pustaka yang baru saja kita buat.
File view yang di-load bernama laporan_pdf, berarti kita harus membuat file view bernama laporan_pdf.php di application/views.
5. Membuat View File: application/views/laporan_pdf.php
$config['composer_autoload'] = "vendor/autoload.php";
composer require dompdf/dompdf
<?php defined('BASEPATH') OR exit('No direct script access allowed');
/**
* CodeIgniter DomPDF Library
*
* Generate PDF's from HTML in CodeIgniter
*
* @packge CodeIgniter
* @subpackage Libraries
* @category Libraries
* @author Ardianta Pargo
* @license MIT License
* @link https://github.com/ardianta/codeigniter-dompdf
*/
use Dompdf\Dompdf;
class Pdf extends Dompdf{
/**
* PDF filename
* @var String
*/
public $filename;
public function __construct(){
parent::__construct();
$this->filename = "laporan.pdf";
}
/**
* Get an instance of CodeIgniter
*
* @access protected
* @return void
*/
protected function ci()
{
return get_instance();
}
/**
* Load a CodeIgniter view into domPDF
*
* @access public
* @param string $view The view to load
* @param array $data The view data
* @return void
*/
public function load_view($view, $data = array()){
$html = $this->ci()->load->view($view, $data, TRUE);
$this->load_html($html);
// Render the PDF
$this->render();
// Output the generated PDF to Browser
$this->stream($this->filename, array("Attachment" => false));
}
}
public function laporan_pdf(){
$data = array(
"dataku" => array(
"nama" => "Petani Kode",
"url" => "http://petanikode.com"
)
);
$this->load->library('pdf');
$this->pdf->setPaper('A4', 'potrait');
$this->pdf->filename = "laporan-petanikode.pdf";
$this->pdf->load_view('laporan_pdf', $data);
}
<pre><?php print_r($dataku); ?></pre>