Panduan Lengkap Membuat Laporan PDF di CodeIgniter 4 (CI4) Menggunakan TCPDF
Membuat laporan dalam bentuk file PDF merupakan kebutuhan umum dalam banyak aplikasi berbasis web. Di PHP, khususnya bagi Anda yang menggunakan framework CodeIgniter 4 (CI4), hal ini bisa dilakukan dengan mudah menggunakan TCPDF, sebuah library open-source populer yang mendukung pembuatan PDF secara fleksibel.
Artikel ini membahas langkah-langkah lengkap integrasi dan implementasi TCPDF pada CI4 tanpa Composer, serta dilengkapi contoh kode dan informasi tambahan yang cocok untuk pemula.
🔧 Mengapa Menggunakan TCPDF?
- Mendukung Unicode dan berbagai jenis font.
- Tidak membutuhkan ekstensi PHP tambahan.
- Bisa digunakan secara offline (tanpa Composer).
- Digunakan oleh ribuan proyek dan sistem profesional.
📌 Langkah-langkah Integrasi TCPDF di CodeIgniter 4
Catatan: Tutorial ini menggunakan cara manual tanpa Composer.
1. Unduh Library TCPDF
Unduh TCPDF dari repositori resminya:
https://github.com/tecnickcom/tc-lib-pdf
2. Ekstrak dan Tempatkan

Ekstrak hasil unduhan, lalu simpan di:
/app/Libraries/tcpdf
3. Autoload Library
Buka file app/Config/Autoload.php
, tambahkan:
'TCPDF' => APPPATH . 'Libraries/tcpdf'
🛠️ Contoh Implementasi PDF Laporan Produk
4. Model Produk
<?php
namespace App\Models;
use CodeIgniter\Model;
class ProdukModel extends Model {
protected $table = 'produk';
protected $primaryKey = 'ProdukID';
protected $allowedFields = ['ProdukID', 'NamaProduk', 'Harga', 'Stok'];
}
5. Controller PDF

<?php
namespace App\Controllers;
use App\Models\ProdukModel;
use TCPDF;
class PDFReport extends BaseController {
protected $produkModel;
public function __construct() {
$this->produkModel = new ProdukModel();
}
public function produk() {
$data = $this->produkModel->findAll();
$pdf = new TCPDF();
$pdf->AddPage('P', 'mm', 'A4');
$pdf->SetFont('dejavusans', 'B', 12);
$pdf->Cell(0, 10, 'DAFTAR STOK BARANG', 0, 1, 'C');
$pdf->Ln(5);
$pdf->SetFont('dejavusans', 'B', 10);
$pdf->Cell(10, 8, 'No', 1, 0, 'C');
$pdf->Cell(80, 8, 'Nama Produk', 1, 0, 'C');
$pdf->Cell(40, 8, 'Harga', 1, 0, 'R');
$pdf->Cell(20, 8, 'Stok', 1, 1, 'C');
$pdf->SetFont('dejavusans', '', 10);
$no = 1;
foreach ($data as $row) {
$pdf->Cell(10, 8, $no++, 1, 0, 'C');
$pdf->Cell(80, 8, $row['NamaProduk'], 1, 0);
$pdf->Cell(40, 8, number_format($row['Harga'], 2, ',', '.'), 1, 0, 'R');
$pdf->Cell(20, 8, $row['Stok'], 1, 1, 'C');
}
$pdf->Output('Laporan-Stok-Barang.pdf', 'I');
}
}
6. Tambahkan Route
$routes->get('produk-pdf', 'PDFReport::produk');
📘 Tips Tambahan
- Gunakan font Unicode seperti
DejaVuSans
untuk karakter non-ASCII. - Cek dokumentasi lengkap di TCPDF Docs.
- TCPDF mendukung HTML dan CSS sederhana untuk desain lebih fleksibel.

✅ Kesimpulan
Dengan langkah-langkah di atas, Anda dapat membuat laporan PDF dengan mudah di CodeIgniter 4 tanpa Composer. Tutorial ini cocok untuk pemula maupun developer yang butuh solusi cepat dan efisien.