Dompdf adalah salah satu library yang dapat kita gunakan untuk Membuat Laporan Pdf di Codeigniter.
Dompdf bekerja dengan mengkonversi skrip HTML menjadi bentuk PDF sehingga lebih praktis.
Cara Membuat Laporan Pdf dengan Dompdf di CodeIgniter adalah sebagai berikut :
Aktifkan Composer-Autoload
Composer Autoload perlu diaktifkan karena Kita akan menginstal Dompdf melalui Composer.
Silahkan buka file application/config/config.php
, kemudian ubah bagian autoload Composer menjadi seperti ini:
$config['composer_autoload'] = "vendor/autoload.php";
Instal Dompdf
Selanjutnya kita instal Dompdf melalui cmd pada komputer anda, pastikan anda telah menginstal Composer. Jika belum silahkan download pada Getcomposer.org kemudian instal terlebih dahulu. Ikuti panduan instalasi composer disini Tutorial Cara Instalasi Composer.
Buka cmd, masuk kedalam direktori project anda, Instal dompdf dengan perintah:
composer require dompdf/dompdf
Membuat Library Sendiri
Library kita buat agar tidak menulis ulang kode yang sama disetiap penggunaan Dompdf.
Buat file baru dengan nama Pdf.php
dalam direktori application/libraries
. Isinya seperti berikut:
<?php defined('BASEPATH') OR exit('No direct script access allowed');
/**
* CodeIgniter DomPDF Library
*
* Generate PDF's from HTML in CodeIgniter
*/
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));
}
}
Membuat Controller dan View
Anda bisa membuat Controller dan View baru untuk menampilkan Laporan Pdf, atau dengan menggunakan Controller yang sudah ada dan membuat function mengarah ke library Pdf yang kita buat.
Saya membuat controller
baru dengan nama LaporanDompdf.php
dan database menggunakan tabel pegawai.
Isi dari controller LaporanDompdf.php sebagai berikut:
db->get('pegawai')->result();
$this->load->library('pdf');
$this->pdf->setPaper('A4', 'landscape');
$this->pdf->filename = "Laporan-Dompdf-Codeigniter.pdf";
$this->pdf->load_view('v_tampil_pdf', $data);
}
}
Kemudian buat view
dengan nama v_tampil_pdf.php
. Isi dengan script berikut:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Laporan Dompdf Codeigniter</title>
</head>
<body>
<h3><center>DAFTAR PEGAWAI AYONGODING.COM</center></h3>
<table border="1" cellspacing="0" cellpadding="5" width="100%">
<thead>
<tr>
<th>No.</th>
<th>Nama Pegawai</th>
<th>Alamat</th>
<th>Telp</th>
</tr>
</thead>
<tbody>
<?php
$no=0;
foreach ($pegawai as $data) {
$no++;
echo "<tr>";
echo "<td><center>".$no."</center></td>";
echo "<td>".$data->nama."</td>";
echo "<td>".$data->alamat."</td>";
echo "<td>".$data->telp."</td>";
echo "</tr>";
}
?>
</tbody>
</table>
</body>
</html>
Buka project codeigniter melalui browser anda dengan url mengarah ke controller yang baru saja anda buat. Maka hasilnya seperti ini:
Maka laporan Pdf pada CodeIgniter menggunakan Dompdf telah selesai kita buat.
ijin tanya bg untuk menampilkan gambar, yang nama gambar nya diambil dari database kemudian dipanggil dengan perulangan, itu gimana ya bg caranya,
soalnya aku buat dia ngak mau tampil bg,
yang ada gambar default nya dari dompdf itu sendiri bg
Alhamdulillah lancar makasih banyak gan
Alhamdulillah terima kasih tutorialnnya..
sangat membantu kak