Membuat Laporan Tcpdf Codeigniter

Membuat Laporan Pdf dengan Tcpdf di CodeIgniter

Pada tutorial sebelumnya kita sudah membahas Cara Membuat Laporan Pdf pada CodeIgniter Menggunakan Dompdf dan kita juga sudah mempelajari pada postingan sebelumnya Cara Membuat Laporan Pdf pada CodeIgniter Menggunakan Fpdf.

Pada tutorial kali ini kita akan membahas Cara Membuat Laporan Pdf pada CodeIgniter Menggunakan Tcpdf.

Ada dua cara yang bisa kita gunakan untuk Instalasi Tcpdf di CodeIgniter, pertama via composer kedua dengan langsung mendownload librarynya di situs resmi TCPDF, pada tutorial ini kita akan bahas kedua cara tersebut.

1. Instalasi Tcpdf Via Composer

Cara pertama yang bisa kita gunakan adalah instalasi Tcpdf via composer. Pastikan Composer sudah terinstal di laptop Anda, jika belum silahkan download pada Getcomposer.org kemudian instal terlebih dahulu. Ikuti panduan instalasi composer disini Tutorial Cara Instalasi Composer.

Selanjutnya buka cmd, masuk ke direktori project Anda, kemudian jalankan perintah berikut:

composer require tecnickcom/tcpdf
Membuat Laporan Tcpdf CodeIgniter
Membuat Laporan Tcpdf CodeIgniter

Setelah selesai, Tcptf sudah ada dalam CodeIgniter kita:

Membuat Laporan Tcpdf CodeIgniter
Membuat Laporan Tcpdf CodeIgniter

Langkah selanjutnya mengatur konfigurasinya agar file vendor bisa digunakan. Aktifkan composer autoload yang berada pada aplication/config/config.php, ubah menjadi:

$config['composer_autoload'] = "vendor/autoload.php";

Kemudian membuat Controller untuk menampilkan laporan pdf. Saya membuat controller dengan nama LaporanTcpdf.php, kemudian data dari database menggunakan nama tabel Pegawai, silahkan sesuaikan dengan laporan yang akan Anda buat.

Isi dari Controller LaporanTcpdf.php sebagai berikut:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class LaporanTcpdf extends CI_Controller {
	function index()
	{
        $pdf = new \TCPDF();
        $pdf->AddPage('L', 'mm', 'A4');
        $pdf->SetFont('', 'B', 14);
        $pdf->Cell(277, 10, "DAFTAR PEGAWAI AYONGODING.COM", 0, 1, 'C');
        $pdf->SetAutoPageBreak(true, 0);
        // Add Header
        $pdf->Ln(10);
        $pdf->SetFont('', 'B', 12);
        $pdf->Cell(20, 8, "No", 1, 0, 'C');
        $pdf->Cell(100, 8, "Nama Pegawai", 1, 0, 'C');
        $pdf->Cell(120, 8, "Alamat", 1, 0, 'C');
        $pdf->Cell(37, 8, "Telp", 1, 1, 'C');
        $pdf->SetFont('', '', 12);
        $pegawai = $this->db->get('pegawai')->result();
        $no=0;
        foreach ($pegawai as $data){
            $no++;
            $pdf->Cell(20,8,$no,1,0, 'C');
            $pdf->Cell(100,8,$data->nama,1,0);
            $pdf->Cell(120,8,$data->alamat,1,0);
            $pdf->Cell(37,8,$data->telp,1,1);
        }
        $pdf->SetFont('', 'B', 10);
        $pdf->Cell(277, 10, "Laporan Pdf Menggunakan Tcpdf, Instalasi Tcpdf Via Composer", 0, 1, 'L');
        $pdf->Output('Laporan-Tcpdf-CodeIgniter.pdf'); 
	}
}

Kemuadian jalankan project CodeIgniter Anda mengarah ke controller yang baru saja dibuat:

http://localhost/ayongoding_codeigniter/index.php/laporantcpdf

Maka laporan pdf telah selesai kita buat hasilnya seperti ini:

Membuat Laporan Tcpdf CodeIgniter
Membuat Laporan Tcpdf CodeIgniter

2. Instalasi Tcpdf dengan Download Library

Cara yang kedua untuk instalasi Tcpdf adalah langsung mendownload librarynya. SIlahkan download pada Tcpdf.org atau github.com/tecnickcom/tcpdf

Setelah download selanjutnya extract ke dalam direktory aplication/libraries sehingga strukturnya seperti ini:

Membuat Laporan Tcpdf di CodeIgniter
Membuat Laporan Tcpdf di CodeIgniter

Buat file Pdf.php di dalam folder application/libraries/Pdf.php kemudian copy semua syntax berikut:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once dirname(__FILE__) . '/tcpdf/tcpdf.php';
class Pdf extends TCPDF
{
    function __construct()
    {
        parent::__construct();
    }
}
/* End of file Pdf.php */
/* Location: ./application/libraries/Pdf.php */
Laporan Tcpdf dengan CodeIgniter
Laporan Tcpdf dengan CodeIgniter

Selanjutnya kita buat controller baru dengan nama Laporan.php pada direktori application/controllers/Laporan.php

Isi dari file controller Laporan.php sebagai berikut:

<?php 
if (!defined('BASEPATH')) exit('No direct script access allowed');
 
class Laporan extends CI_Controller {
    public function __construct()
        {   
            parent::__construct();
            $this->load->library('Pdf');
        }
    public function index()
        {
            $data['pegawai'] = $this->db->get('pegawai')->result();
            $this->load->view('v_laporan', $data);
        }
}

Perhatikan kode controller di atas, data pegawai kita kirim ke view v_laporan. Maka kita buat file view baru dengan nama v_laporan.php pada direktori application/views/v_laporan.php

Isi dari file view v_laporan.php dapat diliat pada kode di bawah ini:

<?php
    $pdf = new \TCPDF();
    $pdf->AddPage('L', 'mm', 'A4');
    $pdf->SetFont('', 'B', 14);
    $pdf->Cell(277, 10, "DAFTAR PEGAWAI AYONGODING.COM", 0, 1, 'C');
    $pdf->SetAutoPageBreak(true, 0);
    // Add Header
    $pdf->Ln(10);
    $pdf->SetFont('', 'B', 12);
    $pdf->Cell(20, 8, "No", 1, 0, 'C');
    $pdf->Cell(100, 8, "Nama Pegawai", 1, 0, 'C');
    $pdf->Cell(120, 8, "Alamat", 1, 0, 'C');
    $pdf->Cell(37, 8, "Telp", 1, 1, 'C');
    $pdf->SetFont('', '', 12);
    $pegawai = $this->db->get('pegawai')->result();
    $no=0;
    foreach ($pegawai as $data){
        $no++;
        $pdf->Cell(20,8,$no,1,0, 'C');
        $pdf->Cell(100,8,$data->nama,1,0);
        $pdf->Cell(120,8,$data->alamat,1,0);
        $pdf->Cell(37,8,$data->telp,1,1);
    }
    $pdf->SetFont('', 'B', 10);
    $pdf->Cell(277, 10, "Laporan Pdf Menggunakan Tcpdf, Instalasi Tcpdf dengan Download Library", 0, 1, 'L');
    $pdf->Output('Laporan-Tcpdf-CodeIgniter.pdf');
?>

Sekarang coba lihat hasilnya pada browser Anda.

Silahkan akses url berikut:

http://localhost/ayongoding_codeigniter/index.php/laporan

Laporan Tcpdf CodeIgniter
Laporan Tcpdf CodeIgniter

Maka Sampai disini kita telah selesai membuat Laporan Pdf menggunakan Library Tcpdf pada framework CodeIgniter.

Web Programmer. Flutter Developer. Content Creator. Founder Ayongoding.com. Penyuka minuman sachet. Menulis pakai tangan kanan. Masih main mobilan remot. Dan pernah kuliah Sistem Informasi sampai lulus.

Leave a Reply

Your email address will not be published. Required fields are marked *