Suatu saat mungkin anda butuh membuat laporan kedalam PDF di CodeIgniter. Sebenarnya caranya hampir sama tanpa framework.
Library untuk membuat PDF yang akan kita gunakan adalah TCPDF, ada baiknya bila dokumentasinya dibaca sampai selesai baru mulai coding.
1. Download TCPDF
Download TCPDF dari github resmi TCPDF download versi terbaru, saat ini versinya 6.2.26
Extract file yang baru di download ke application/third_party
, hingga strukturnya mirip seperti dibawah ini
> ls application/third_party/TCPDF-6.2.26 CHANGELOG.TXT config fonts LICENSE.TXT tcpdf_autoconfig.php tcpdf_barcodes_2d.php tcpdf_parser.php tools composer.json examples include README.md tcpdf_barcodes_1d.php tcpdf_import.php tcpdf.php
2. File Library
Buat file baru Pdf.php
di application/libraries/Pdf.php
, isi file tersebut dengan coding dibawah
<?php class pdf { function __construct() { include_once APPPATH . '/third_party/TCPDF-6.2.26/tcpdf.php'; } }
3. Contoh Data
Data yang akan kita export ke PDF adalah tabel dibawah ini
Provinsi | Jumlah Penduduk |
---|---|
Aceh | 5.189.500 |
Bali | 4.246.500 |
Banten | 12.448.200 |
Bengkulu | 1.934.300 |
DI Yogyakarta | 3.762.200 |
DKI Jakarta | 10.374.200 |
Gorontalo | 1.168.200 |
Jambi | 3.515.000 |
Jawa Barat | 48.037.600 |
Jawa Tengah | 34.257.900 |
Jawa Timur | 39.293.000 |
Kalimantan Barat | 4.932.500 |
Kalimantan Selatan | 4.119.800 |
Kalimantan Tengah | 2.605.300 |
Kalimantan Timur | 3.575.400 |
Kalimantan Utara | 691.100 |
Kepulauan Bangka Belitung | 1.430.900 |
4. Controller
Library TCPDF ngga akan menampilkan tabel bila menggunakan ‘ (tanda petik satu/single quotation), harus menggunakan ” (tanda petik dua/double quotation). Buat controller baru application/controllers/Data.php
<?php class Data extends CI_Controller { public function __construct() { parent::__construct(); $this->load->library('pdf'); } public function pdf() { $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); $pdf->setPrintFooter(false); $pdf->setPrintHeader(false); $pdf->SetAutoPageBreak(true, PDF_MARGIN_BOTTOM); $pdf->AddPage(''); $pdf->Write(0, 'Simpan ke PDF - Jaranguda.com', '', 0, 'L', true, 0, false, false, 0); $pdf->SetFont(''); $tabel = ' <table border="1"> <tr> <th> <b>Provinsi</b> </th> <th> <b>Jumlah Penduduk</b> </th> </tr> <tr> <td> Aceh </td> <td> 5.189.500 </td> </tr> <tr> <td> Bali </td> <td> 4.246.500 </td> </tr> <tr> <td> Banten </td> <td> 12.448.200 </td> </tr> <tr> <td> Bengkulu </td> <td> 1.934.300 </td> </tr> <tr> <td> DI Yogyakarta </td> <td> 3.762.200 </td> </tr> <tr> <td> DKI Jakarta </td> <td> 10.374.200 </td> </tr> <tr> <td> Gorontalo </td> <td> 1.168.200 </td> </tr> <tr> <td> Jambi </td> <td> 3.515.000 </td> </tr> <tr> <td> Jawa Barat </td> <td> 48.037.600 </td> </tr> <tr> <td> Jawa Tengah </td> <td> 34.257.900 </td> </tr> <tr> <td> Jawa Timur </td> <td> 39.293.000 </td> </tr> <tr> <td> Kalimantan Barat </td> <td> 4.932.500 </td> </tr> <tr> <td> Kalimantan Selatan </td> <td> 4.119.800 </td> </tr> <tr> <td> Kalimantan Tengah </td> <td> 2.605.300 </td> </tr> <tr> <td> Kalimantan Timur </td> <td> 3.575.400 </td> </tr> <tr> <td> Kalimantan Utara </td> <td> 691.100 </td> </tr> <tr> <td> Kepulauan Bangka Belitung </td> <td> 1.430.900 </td> </tr> </table> '; $pdf->writeHTML($tabel); $pdf->Output('file-pdf-codeigniter.pdf', 'I'); } }
Buka di browser http://localhost/Data/pdf
bila browser yang anda gunakan memiliki PDF Viewer makan akan ditampilkan, selebihnya di download. Agar file PDF tersebut otomatis di download ubah
$pdf->Output('file-pdf-codeigniter.pdf', 'I');
menjadi
$pdf->Output('file-pdf-codeigniter.pdf', 'D');
kalau ngambil dari db datanya bgaimana min
Kalau pakai CI 4, settingnya bagaimana masbro