{"id":55249,"date":"2025-07-14T09:10:29","date_gmt":"2025-07-14T02:10:29","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=55249"},"modified":"2026-02-16T10:25:47","modified_gmt":"2026-02-16T03:25:47","slug":"membuat-laporan-pdf-dengan-dompdf-codeigniter","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/membuat-laporan-pdf-dengan-dompdf-codeigniter\/","title":{"rendered":"Membuat Laporan PDF dengan DomPDF pada CodeIgniter 4"},"content":{"rendered":"\n<p>Membuat laporan PDF dari data aplikasi web sering kali menjadi kebutuhan penting, baik untuk invoice, kwitansi, atau laporan bulanan. Jika Anda menggunakan <em>framework <\/em>CodeIgniter 4, salah satu cara paling praktis dan efisien adalah dengan laporan PDF dengan Dompdf.<\/p>\n\n\n\n<p>Dalam artikel ini, kami akan berbagi cara integrasi laporan PDF dengan dompdf pada <a href=\"https:\/\/www.rumahweb.com\/journal\/codeigniter-4\/\" target=\"_blank\" rel=\"noopener\" title=\"\">CodeIgniter 4<\/a>, mulai dari pengertian hingga cara pembuatannya. Prosesnya sederhana, mudah, dan sangat cocok untuk kebutuhan laporan berbasis web.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Apa Itu Dompdf ?<\/h2>\n\n\n\n<p>Dompdf adalah sebuah <em>library <\/em>berbasis PHP yang berfungsi untuk mengonversi halaman HTML dan CSS menjadi dokumen PDF secara langsung. <em>Library <\/em>ini memudahkan <em>developer <\/em>dalam membuat dokumen PDF tanpa harus menggunakan <em>tool <\/em>eksternal atau format yang rumit. <\/p>\n\n\n\n<p>Dengan Dompdf, Anda cukup mendesain tampilan menggunakan HTML seperti biasa dan hasilnya bisa langsung dicetak menjadi PDF. Selain itu, Dompdf digunakan untuk menghasilkan laporan, <em>invoice<\/em>, struk, dan berbagai dokumen digital lainnya yang dibutuhkan oleh aplikasi web.<\/p>\n\n\n\n<p>Karena fleksibel dan ringan, Dompdf bisa diimplementasikan di berbagai proyek berbasis PHP, baik yang menggunakan <em>framework <\/em>seperti CodeIgniter dan Laravel, maupun CMS seperti WordPress. Bahkan dalam sistem kustom sekalipun, Dompdf dapat dengan mudah diintegrasikan untuk memenuhi kebutuhan cetak dokumen secara otomatis.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fungsi Dompdf<\/h2>\n\n\n\n<p>Meski banyak digunakan untuk membuat laporan PDF dengan dompdf, fungsi dompdf sebenarnya jauh lebih luas. Berikut beberapa kasus penggunaan lainnya:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Generate PDF dari template HTML<\/strong>: Cocok untuk dokumen dinamis seperti faktur yang ditarik dari database.<\/li>\n\n\n\n<li><strong>Download otomatis<\/strong>: Dompdf bisa digunakan untuk menghasilkan dan langsung mengunduh file PDF saat pengguna klik tombol tertentu.<\/li>\n\n\n\n<li><strong>Integrasi dengan sistem email<\/strong>: Anda dapat melampirkan PDF hasil generate ke dalam email (misalnya, e-ticket atau konfirmasi pembelian).<\/li>\n\n\n\n<li><strong>Cetak formulir atau laporan isian<\/strong>: Cocok untuk sistem akademik, pemerintahan, atau aplikasi internal perusahaan.<\/li>\n\n\n\n<li><strong>Membuat file PDF dari API<\/strong>: Dompdf bisa dihubungkan dengan API backend untuk menghasilkan PDF berbasis permintaan user atau sistem eksternal.<\/li>\n<\/ul>\n\n\n\n<p>Dengan fleksibilitas tinggi dan kemudahan integrasi, Dompdf menjadi salah satu solusi paling populer untuk kebutuhan cetak dokumen digital di aplikasi berbasis PHP.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Membuat Laporan PDF di CodeIgniter 4<\/h2>\n\n\n\n<p>Dalam panduan ini, kami akan menjelaskan cara menambahkan fitur export ke format PDF di CodeIgniter 4 menggunakan dompdf. Sebelum memulai, pastikan Anda sudah memiliki proyek website berbasis CodeIgniter 4 serta halaman laporan atau catatan yang ingin dikonversi ke PDF<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1. Install DomPDF<\/h3>\n\n\n\n<p>Langkah pertama, lakukan install dompdf pada CodeIgniter Anda, agar bisa menggunakan fitur export html\/css ke pdf. Silahkan jalankan perintah berikut dalam folder root CI 4:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>composer require dompdf\/dompdf<\/code><\/pre>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/install_dompdf_rumahweb.png\"><img loading=\"lazy\" decoding=\"async\" width=\"581\" height=\"293\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/install_dompdf_rumahweb.png\" alt=\"Step 1. Install DomPDF\" class=\"wp-image-56002\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/install_dompdf_rumahweb.png 581w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/install_dompdf_rumahweb-300x151.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/install_dompdf_rumahweb-370x187.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/install_dompdf_rumahweb-270x136.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/install_dompdf_rumahweb-570x287.png 570w\" sizes=\"auto, (max-width: 581px) 100vw, 581px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>Silahkan tunggu hingga selesai.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2. tambahkan tombol export<\/h3>\n\n\n\n<p>Tambahkan tombol <em>export ke PDF<\/em> di halaman laporan, misal pada <code>app\/Views\/data\/index.php<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;a href=\"\/data\/pdf\" target=\"_blank\"&gt;&#91;Export PDF]&lt;\/a&gt;<\/code><\/pre>\n\n\n\n<p>Contoh seperti gambar dibawah:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_dompdf.png\"><img loading=\"lazy\" decoding=\"async\" width=\"856\" height=\"386\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_dompdf.png\" alt=\"Step 2. tambahkan tombol export\" class=\"wp-image-56025\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_dompdf.png 856w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_dompdf-300x135.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_dompdf-768x346.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_dompdf-370x167.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_dompdf-270x122.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_dompdf-570x257.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_dompdf-740x334.png 740w\" sizes=\"auto, (max-width: 856px) 100vw, 856px\" \/><\/a><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Step 3. Buat file Helper PDF<\/h3>\n\n\n\n<p>Buat file helper dalam folder <strong><em>app\\Helpers<\/em><\/strong> dengan nama <em>pdf_helper.php<\/em>. Jika sudah ada filenya, silahkan tambahkan saja di bawah data function yang sudah ada.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\nuse Dompdf\\Dompdf;\n\nfunction create_dompdf(): Dompdf\n{\n    $pdf = new Dompdf();\n    $pdf-&gt;setPaper('A4', 'portrait');\n    return $pdf;\n}<\/code><\/pre>\n\n\n\n<p>File helper akan membantu Anda untuk membentuk pola PDF yang dihasilnya agar terlihat lebih rapi.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4. Buat file PDF View<\/h3>\n\n\n\n<p>Anda perlu membuat file PHP untuk menampilkan hasil export dalam bentuk PDF. Silahkan masuk ke folder yang sama dengan menu laporan atau disesuaikan dengan web Anda.<\/p>\n\n\n\n<p>Contoh panduan ini berada di <strong><em>app\/Views\/data\/pdf-view.php<\/em><\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;title&gt;PDF view&lt;\/title&gt;\n    &lt;style&gt;\n        body { font-family: Arial, sans-serif; }\n        table { width: 100%; border-collapse: collapse; margin-top: 20px; }\n        th, td { border: 1px solid #000; padding: 8px; text-align: left; }\n        th { background-color: #f2f2f2; }\n        h2 { text-align: center; }\n\n        .ttd {\n            margin-top: 50px;\n            text-align: right;\n        }\n\n        .ttd img {\n            width: 100px;\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;h2&gt;Data List&lt;\/h2&gt;\n\n    &lt;table&gt;\n        &lt;thead&gt;\n            &lt;tr&gt;\n                &lt;th&gt;ID&lt;\/th&gt;\n                &lt;th&gt;Nama&lt;\/th&gt;\n                &lt;th&gt;Keterangan&lt;\/th&gt;\n            &lt;\/tr&gt;\n        &lt;\/thead&gt;\n        &lt;tbody&gt;\n            &lt;?php foreach ($data as $row): ?&gt;\n                &lt;tr&gt;\n                    &lt;td&gt;&lt;?= $row&#91;'id'] ?&gt;&lt;\/td&gt;\n                    &lt;td&gt;&lt;?= $row&#91;'nama'] ?&gt;&lt;\/td&gt;\n                    &lt;td&gt;&lt;?= $row&#91;'keterangan'] ?&gt;&lt;\/td&gt;\n                &lt;\/tr&gt;\n            &lt;?php endforeach ?&gt;\n        &lt;\/tbody&gt;\n    &lt;\/table&gt;\n\n&lt;\/body&gt;\n&lt;\/html&gt;\n<\/code><\/pre>\n\n\n\n<p>Pada bagian <strong><em>form table<\/em><\/strong> diatas adalah contoh, silahkan disesuaikan dengan nama table di halaman laporan dan databasenya.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5. Tambah PDF di Controller <\/h3>\n\n\n\n<p>Langkah selanjutnya, tambahkan fungsi PDF berikut dalam controller laporan Anda:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public function pdf()\n{\n$dataList = $this-&gt;dataModel-&gt;findAll();\n\n$html = view('data\/pdf-view', &#91;'data' =&gt; $dataList]);\n\n$dompdf = new Dompdf();\n$dompdf-&gt;loadHtml($html);\n$dompdf-&gt;setPaper('A4', 'portrait');\n$dompdf-&gt;render();\n\n$dompdf-&gt;stream('data.pdf', &#91;'Attachment' =&gt; false]);\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6. Tambahkan Helper di AutoLoad dan Routes<\/h3>\n\n\n\n<p>Anda bisa menambahkan helper milik PDF file <em>autoload<\/em> yang berada di folder <strong><em>app\/Config\/Autoload.php<\/em><\/strong> :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public $helpers = &#91;'pdf'];<\/code><\/pre>\n\n\n\n<p>Contoh seperti gambar dibawah:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/autoload_dompdf.png\"><img loading=\"lazy\" decoding=\"async\" width=\"497\" height=\"418\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/autoload_dompdf.png\" alt=\"Step 6. Tambahkan Helper di AutoLoad dan Routes\" class=\"wp-image-56035\" style=\"width:430px;height:auto\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/autoload_dompdf.png 497w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/autoload_dompdf-300x252.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/autoload_dompdf-370x311.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/autoload_dompdf-270x227.png 270w\" sizes=\"auto, (max-width: 497px) 100vw, 497px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>Selanjutnya tambahkan route pdf di <strong><em>app\/Config\/Routes.php<\/em><\/strong> :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$routes-&gt;get('data\/pdf', 'Data::pdf');<\/code><\/pre>\n\n\n\n<p>Sampai tahap ini, cara membuat laporan PDF dengan dompdf di CodeIgniter 4 telah selesai. Selanjutnya, kita bisa melakukan pengujian untuk memastikan aplikasi dapat berjalan dengan baik.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pengujian Cetak Laporan PDF<\/h2>\n\n\n\n<p>Apabila Anda telah selesai melakukan konfigurasi diatas, selanjutnya lakukan clear cache pada CodeIgniter Anda. Lalu, akses ke halaman laporan data yang Anda buat. Pada contoh berikut, kami membuat tampilan data list dengan fitur export PDF. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_export.png\"><img loading=\"lazy\" decoding=\"async\" width=\"434\" height=\"220\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_export.png\" alt=\"Pengujian Cetak Laporan PDF\" class=\"wp-image-56046\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_export.png 434w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_export-300x152.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_export-370x188.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/index_export-270x137.png 270w\" sizes=\"auto, (max-width: 434px) 100vw, 434px\" \/><\/a><\/figure>\n<\/div>\n\n\n<p>Setelah itu, akan muncul laporan data PDF sebagai berikut: <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/pdf_export.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"492\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/pdf_export-1024x492.png\" alt=\"contoh hasil cetak laporan pdf dengan dompdf\" class=\"wp-image-56048\" style=\"width:610px;height:auto\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/pdf_export-1024x492.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/pdf_export-300x144.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/pdf_export-768x369.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/pdf_export-370x178.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/pdf_export-270x130.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/pdf_export-570x274.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/pdf_export-740x356.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2025\/07\/pdf_export.png 1086w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p><strong>BACA JUGA<\/strong> : <a href=\"https:\/\/blog.rumahweb.com\/cara-kompres-pdf\/\">Cara Kompres PDF Files Melalui Online dan Offline<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Penutup<\/h2>\n\n\n\n<p>Dengan menerapkan dompdf di CodeIgniter 4, Anda dapat menambahkan fitur <em>export <\/em>PDF dengan mudah dan efisien. Fitur ini sangat berguna untuk menghasilkan laporan, invoice, atau dokumen digital langsung dari aplikasi web Anda. <\/p>\n\n\n\n<p>Jika aplikasi CodeIgniter Anda sudah selesai dan ingin diakses secara online, Anda bisa membeli <strong><a href=\"https:\/\/www.rumahweb.com\/promo-hosting-murah\/\" target=\"_blank\" rel=\"noopener\" title=\"\">domain dan hosting<\/a><\/strong> di Rumahweb. Kami menyediakan berbagai paket hosting yang mendukung PHP dan <em>framework <\/em>CodeIgniter, lengkap dengan dukungan teknis 24 jam.<\/p>\n\n\n\n<p>Demikian artikel kami tentang cara membuat laporan PDF dengan dompdf di CodeIgniter 4. Semoga panduan ini membantu, dan silakan kembangkan sesuai kebutuhan proyek Anda.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Membuat laporan PDF dari data aplikasi web sering kali menjadi kebutuhan penting, baik untuk invoice, kwitansi, atau laporan bulanan. Jika Anda menggunakan framework CodeIgniter 4, salah satu cara paling praktis dan efisien adalah dengan laporan PDF dengan Dompdf. Dalam artikel ini, kami akan berbagi cara integrasi laporan PDF dengan dompdf pada CodeIgniter 4, mulai dari [&hellip;]<\/p>\n","protected":false},"author":338,"featured_media":56116,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[142],"tags":[543,2076,2138],"class_list":{"0":"post-55249","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tips-dan-trik","8":"tag-codeigniter","9":"tag-dompdf","10":"tag-pdf"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/55249","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/users\/338"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=55249"}],"version-history":[{"count":0,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/55249\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/56116"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=55249"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=55249"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=55249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}