CodeIgniter 3 adalah framework PHP yang sangat populer untuk membangun aplikasi web dengan cepat dan efisien. Salah satu fitur yang banyak diminta oleh pengembang aplikasi web adalah kemampuan untuk menghasilkan, menyimpan, dan mengelola file PDF. Dalam artikel ini, kita akan membahas bagaimana cara membuat aplikasi CRUD (Create, Read, Update, Delete) untuk mengelola file PDF menggunakan CodeIgniter 3. Kami akan menggabungkan CodeIgniter dengan library eksternal seperti TCPDF
atau FPDF
untuk membuat dan mengelola file PDF.
Apa Itu CRUD?
CRUD adalah singkatan dari Create, Read, Update, dan Delete. Ini adalah operasi dasar yang digunakan dalam aplikasi basis data atau pengelolaan data. Dalam konteks file PDF, CRUD berarti kita akan melakukan operasi berikut:
- Create (Membuat PDF): Membuat file PDF baru.
- Read (Membaca PDF): Menampilkan isi file PDF yang telah dibuat.
- Update (Memperbarui PDF): Memperbarui file PDF yang sudah ada.
- Delete (Menghapus PDF): Menghapus file PDF yang ada dari sistem.
Untuk memudahkan pembuatan dan pengelolaan file PDF di CodeIgniter, kita akan menggunakan library TCPDF
, yang merupakan salah satu library PDF paling populer di PHP.
1. Persiapan Awal
Sebelum memulai, pastikan Anda sudah menginstal CodeIgniter 3 pada server lokal atau hosting yang Anda gunakan. Anda juga perlu menyiapkan beberapa hal berikut:
- Web Server: Gunakan XAMPP, WAMP, atau MAMP sebagai server lokal.
- CodeIgniter 3: Pastikan CodeIgniter sudah diunduh dan diinstal dengan benar.
- Library TCPDF: Download library
TCPDF
dari situs resminya dan tempatkan di folderapplication/libraries
di proyek CodeIgniter Anda.
Setelah semua persiapan selesai, Anda siap melanjutkan ke langkah berikutnya.
2. Menginstal TCPDF di CodeIgniter
Untuk menginstal TCPDF di CodeIgniter, Anda perlu mengekstrak file TCPDF yang sudah diunduh dan menaruhnya di folder application/libraries
. Berikut adalah langkah-langkah yang lebih rinci:
- Unduh library TCPDF dari situs resminya.
- Ekstrak file ZIP dan salin folder
tcpdf
ke dalam folderapplication/libraries
di proyek CodeIgniter Anda.
Setelah itu, Anda perlu membuat file untuk memuat library TCPDF. Di dalam application/libraries
, buat file baru bernama Pdf.php
. Berikut adalah kode untuk memuat TCPDF:
Dengan cara ini, Anda dapat menggunakan fungsi-fungsi TCPDF di dalam aplikasi CodeIgniter Anda.
3. Membuat Controller untuk CRUD PDF
Selanjutnya, kita akan membuat controller yang akan menangani operasi CRUD untuk file PDF. Buat file controller dengan nama PdfController.php
di dalam folder application/controllers
. Berikut adalah contoh kode untuk controller PDF CRUD:
load->library('pdf');
}
// Create PDF
public function create_pdf()
{
// Membuat instance PDF
$pdf = new Pdf();
// Set informasi dokumen
$pdf->SetTitle('Contoh PDF');
$pdf->SetAuthor('Nama Pengarang');
$pdf->SetSubject('Subject PDF');
$pdf->SetKeywords('pdf, codeigniter, example');
// Menambahkan halaman
$pdf->AddPage();
// Menambahkan konten pada halaman PDF
$pdf->SetFont('helvetica', '', 12);
$pdf->Write(0, 'Ini adalah contoh file PDF yang dibuat dengan CodeIgniter.', '', 0, 'L', true, 0, false, false, 0);
// Output PDF ke browser atau simpan di server
$pdf->Output('contoh.pdf', 'I'); // 'I' untuk output ke browser, 'F' untuk simpan di server
}
// Read PDF
public function view_pdf($file_name)
{
// Mendapatkan file PDF dan menampilkannya
$file_path = './uploads/pdfs/' . $file_name;
if (file_exists($file_path)) {
$this->load->helper('file');
$data = file_get_contents($file_path);
force_download($file_name, $data);
} else {
show_404();
}
}
// Update PDF (contoh mengubah konten)
public function update_pdf($file_name)
{
// Memuat file yang sudah ada
$file_path = './uploads/pdfs/' . $file_name;
if (file_exists($file_path)) {
// Membuat instance PDF baru
$pdf = new Pdf();
$pdf->AddPage();
$pdf->SetFont('helvetica', '', 12);
$pdf->Write(0, 'File PDF ini telah diperbarui. ', '', 0, 'L', true, 0, false, false, 0);
// Menyimpan kembali ke file yang sudah ada
$pdf->Output($file_path, 'F');
echo "PDF berhasil diperbarui!";
} else {
show_404();
}
}
// Delete PDF
public function delete_pdf($file_name)
{
$file_path = './uploads/pdfs/' . $file_name;
if (file_exists($file_path)) {
unlink($file_path);
echo "PDF berhasil dihapus!";
} else {
show_404();
}
}
}
Penjelasan Kode Controller:
-
Create PDF: Fungsi
create_pdf
digunakan untuk membuat file PDF baru. Di sini, kita membuat PDF dengan menggunakan TCPDF, menambahkan halaman, mengatur font, dan menambahkan konten teks. Setelah itu, kita menggunakan$pdf->Output()
untuk menampilkan atau menyimpan file PDF. -
Read PDF: Fungsi
view_pdf
digunakan untuk membaca file PDF yang sudah ada. Di sini, kita menggunakan fungsiforce_download
dari CodeIgniter untuk mengunduh file PDF. -
Update PDF: Fungsi
update_pdf
digunakan untuk memperbarui isi PDF yang sudah ada. Dalam contoh ini, kita hanya menambahkan teks baru pada halaman PDF yang sudah ada dan menyimpannya kembali ke file tersebut. -
Delete PDF: Fungsi
delete_pdf
digunakan untuk menghapus file PDF dari server menggunakanunlink()
.
4. Membuat View untuk Mengelola PDF
Untuk memungkinkan pengguna mengelola file PDF, kita bisa membuat view yang menyediakan antarmuka untuk upload, melihat, memperbarui, dan menghapus file PDF. Berikut adalah contoh file view pdf_view.php
:
Manage PDF
Georgia Reader Reply
Et rerum totam nisi. Molestiae vel quam dolorum vel voluptatem et et. Est ad aut sapiente quis molestiae est qui cum soluta. Vero aut rerum vel. Rerum quos laboriosam placeat ex qui. Sint qui facilis et.