{"id":1149,"date":"2022-03-15T18:21:09","date_gmt":"2022-03-15T11:21:09","guid":{"rendered":"https:\/\/duniacoding.info\/?p=1149"},"modified":"2022-04-26T14:08:54","modified_gmt":"2022-04-26T07:08:54","slug":"belajar-laravel-export-pdf-pada-laravel-part-2","status":"publish","type":"post","link":"https:\/\/duniacoding.id\/blog\/belajar-laravel-export-pdf-pada-laravel-part-2\/","title":{"rendered":"Belajar Laravel 8 #12 : Sistem Export PDF pada Laravel Part 2"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2021\/12\/laravel_logo_icon_170314.png\" alt=\"export-pdf-pada-laravel\" class=\"wp-image-762\" width=\"840\" height=\"420\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/laravel_logo_icon_170314.png 512w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2021\/12\/laravel_logo_icon_170314-300x150.png 300w\" sizes=\"(max-width: 840px) 100vw, 840px\" \/><\/figure>\n\n\n\n<p>Di artikel ini, kita akan melanjutkan Sistem Export PDF pada Laravel. Setelah di artikel sebelumnya kita melakukan instalasi dan persiapan kebutuhan seperti Tampilan dan Database, disini kita akan benar-benar memulai untuk melakukan Export PDF pada Laravel. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Penjelasan Sistem Export PDF pada Laravel<\/strong><\/h2>\n\n\n\n<p>Nah, yang akan kita lakukan disini adalah melakukan instalasi <code>liblary<\/code> untuk sistem Export PDF ini, setelah itu, kita akan membuat sebuah Tombol, dimana Tombol ini akan mengakses Fungsi yang digunakan untuk Export PDF pada Laravel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Praktek<\/strong><\/h2>\n\n\n\n<p>Okay, jadi disini kita akan mulai untuk Praktek export PDF pada Laravel. Akan ada instalasi dan beberapa perubahan syntax pada Laravel yang akan kita lakukan sekarang. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Install <code>Liblary<\/code><\/strong><\/h3>\n\n\n\n<p>Okay, seperti yang ada di Artikel sebelumnya, kita akan menginstall <code>Liblary<\/code> <code>Laravel-Dompdf<\/code>. Liblary ini bisa kalian lihat detailnya pada link ini <a href=\"https:\/\/github.com\/barryvdh\/laravel-dompdf\" target=\"_blank\" rel=\"noopener\">github.com\/barryvdh\/laravel-dompdf<\/a>. Pada Link tersebut sudah terdapat juga cara instalasi Liblary yang akan kita praktekkan disini. <\/p>\n\n\n\n<p>Sekarang, buka Terminal didalam Project Laravel kalian, lalu ketikkan syntax berikut<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncomposer require barryvdh\/laravel-dompdf\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"801\" height=\"129\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2022\/03\/Lar-12-1.png\" alt=\"\" class=\"wp-image-1150\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/03\/Lar-12-1.png 801w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/03\/Lar-12-1-300x48.png 300w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/03\/Lar-12-1-768x124.png 768w\" sizes=\"(max-width: 801px) 100vw, 801px\" \/><\/figure>\n\n\n\n<p>Setelah selesai proses instalasi, berikutnya kita harus menambahkan beberapa syntax pada file <code>config\/app.php<\/code>. Disini kita akan menambahkan syntax tepat pada bagian <code>providers <\/code>dan <code>aliases<\/code>.<\/p>\n\n\n\n<p>Hal ini kita lakukan agar Project Laravel kita mengetahui kalau kita sudah menginstall <code>Liblary<\/code> <code>DOMPDF<\/code> ini.<\/p>\n\n\n\n<p>Tambahkan syntax seperti ini pada file <code>config\/app.php<\/code>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#039;providers&#039; =&gt; &#91;\n    Barryvdh\\DomPDF\\ServiceProvider::class,\n    ...\n],\n\n&#039;aliases&#039; =&gt; &#91;\n    &#039;PDF&#039; =&gt; Barryvdh\\DomPDF\\Facade::class,\n    ...\n]\n<\/pre><\/div>\n\n\n<p>Setelah selesai semua Proses ini, berikutnya kita tinggal membuat<code> Tampilan Data<\/code> dan <code>Tombol <\/code>yang akan digunakan untuk melakukan <code>Proses Export PDF<\/code> pada Laravel kita.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Setting <code>web.php<\/code><\/strong><\/h3>\n\n\n\n<p>Nah, di <code>Router (web.php)<\/code> kita ini, kita akan memperkenalkan <code>URL\/jalan <\/code>yang akan dilalui apabila kita ingin melakukan Export PDF pada Laravel. Jadi, kita perlu membuat 2 <code>URL<\/code> disini, yang pertama adalah untuk menampilkan <code>Data<\/code>, yang kedua adalah untuk <code>Sistem Export<\/code> kita.<\/p>\n\n\n\n<p>File <code>web.php<\/code><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nRoute::get(&#039;\/&#039;, &#91;KaryawanController::class, &#039;index&#039;]);\nRoute::get(&#039;\/pegawai\/cetak_pdf&#039;, &#91;KaryawanController::class, &#039;cetak&#039;]);\n<\/pre><\/div>\n\n\n<p>Kalau teman-teman lihat, pada File <code>web.php<\/code> kita, disana terdapat dua rujukan Fungsi, yaitu <code>index <\/code>dan <code>cetak<\/code>. <code>Index <\/code>untuk <code>menampilkan <\/code>tampilan <code>Data<\/code>, dan <code>cetak <\/code>untuk <code>Mencetak Data <\/code>tersebut<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Membuat Tampilan<\/strong><\/h3>\n\n\n\n<p>Setelah selesai mengatur <code>Route <\/code>kita, sekarang kita akan membuat tampilan <code>Tabel <\/code>dan <code>Tombol <\/code>sederhana, disini Aku menggunakan Bootstrap saja, agar tampilan lebih menarik. kita akan buat ini didalam Folder <code>views<\/code>. Detailnya pada <code>views\/keryawan\/index.blade.php<\/code>.<\/p>\n\n\n\n<p>File <code>views\/keryawan\/index.blade.php<\/code><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&lt;!doctype html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n\n&lt;head&gt;\n    &lt;!-- Required meta tags --&gt;\n    &lt;meta charset=&quot;utf-8&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;\n\n    &lt;!-- Bootstrap CSS --&gt;\n    &lt;link href=&quot;https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.1.3\/dist\/css\/bootstrap.min.css&quot; rel=&quot;stylesheet&quot;\n        integrity=&quot;sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3&quot; crossorigin=&quot;anonymous&quot;&gt;\n\n    &lt;title&gt;Data Karyawan&lt;\/title&gt;\n&lt;\/head&gt;\n\n&lt;body&gt;\n    &lt;div class=&quot;container&quot;&gt;\n        &lt;div class=&quot;mt-5 mb-5&quot;&gt;\n            &lt;h1 class=&quot;display-4&quot;&gt;Data Karyawan&lt;\/h1&gt;\n        &lt;\/div&gt;\n        &lt;a href=&quot;\/cetak&quot; class=&quot;btn btn-primary&quot;&gt;Export Data&lt;\/a&gt;\n        &lt;table class=&quot;table&quot;&gt;\n            &lt;thead&gt;\n                &lt;tr&gt;\n                    &lt;th scope=&quot;col&quot;&gt;Nama&lt;\/th&gt;\n                    &lt;th scope=&quot;col&quot;&gt;Email&lt;\/th&gt;\n                    &lt;th scope=&quot;col&quot;&gt;Nomor Hp&lt;\/th&gt;\n                    &lt;th scope=&quot;col&quot;&gt;Pekerjaan&lt;\/th&gt;\n                &lt;\/tr&gt;\n            &lt;\/thead&gt;\n            &lt;tbody&gt;\n                @foreach ($dataKaryawan as $item)\n                    &lt;tr&gt;\n                        &lt;th scope=&quot;row&quot;&gt;{{ $item-&gt;nama }}&lt;\/th&gt;\n                        &lt;td&gt;{{ $item-&gt;email }}&lt;\/td&gt;\n                        &lt;td&gt;{{ $item-&gt;no_hp }}&lt;\/td&gt;\n                        &lt;td&gt;{{ $item-&gt;pekerjaan }}&lt;\/td&gt;\n                    &lt;\/tr&gt;\n                @endforeach\n            &lt;\/tbody&gt;\n        &lt;\/table&gt;\n    &lt;\/div&gt;\n\n\n    &lt;script src=&quot;https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@5.1.3\/dist\/js\/bootstrap.bundle.min.js&quot;\n        integrity=&quot;sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p&quot; crossorigin=&quot;anonymous&quot;&gt;\n    &lt;\/script&gt;\n&lt;\/body&gt;\n\n&lt;\/html&gt;\n<\/pre><\/div>\n\n\n<p>Setelah selesai membuat Tampilan dari Web nya, berikutnya kita harus membuat <code>Tampilan <\/code>untuk <code>PDF yang akan kita Export<\/code>. Tampilan ini cukup sederhana, cukup gunakan HTML biasa agar mudah untuk di cetak. Codingan ini akan kita tempatkan pada <code>views\/keryawan\/cetak.blade.php<\/code><\/p>\n\n\n\n<p>File <code>views\/keryawan\/cetak.blade.php<\/code><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&lt;h1 class=&quot;display-4&quot;&gt;Data Karyawan&lt;\/h1&gt;\n&lt;table class=&quot;table&quot; border=&quot;1&quot;&gt;\n    &lt;thead&gt;\n        &lt;tr&gt;\n            &lt;th scope=&quot;col&quot;&gt;Nama&lt;\/th&gt;\n            &lt;th scope=&quot;col&quot;&gt;Email&lt;\/th&gt;\n            &lt;th scope=&quot;col&quot;&gt;Nomor Hp&lt;\/th&gt;\n            &lt;th scope=&quot;col&quot;&gt;Pekerjaan&lt;\/th&gt;\n        &lt;\/tr&gt;\n    &lt;\/thead&gt;\n    &lt;tbody&gt;\n        @foreach ($dataKaryawan as $item)\n            &lt;tr&gt;\n                &lt;th scope=&quot;row&quot;&gt;{{ $item-&gt;nama }}&lt;\/th&gt;\n                &lt;td&gt;{{ $item-&gt;email }}&lt;\/td&gt;\n                &lt;td&gt;{{ $item-&gt;no_hp }}&lt;\/td&gt;\n                &lt;td&gt;{{ $item-&gt;pekerjaan }}&lt;\/td&gt;\n            &lt;\/tr&gt;\n        @endforeach\n    &lt;\/tbody&gt;\n&lt;\/table&gt;\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\"><strong>Setting <code>Controller<\/code><\/strong><\/h3>\n\n\n\n<p>Setelah selesai membuat tampilan, sekarang kita akan mengkases tampilan itu dari Controller kita. Seperti yang sudah kita buat di <code>Route(web.php)<\/code>, kita butuh 2 fungsi, yaitu fungsi <code>index<\/code> untuk menampilkan Data, dan fungsi <code>cetak <\/code>untuk <code>mencetak <\/code>Data yang ditampilkan.<\/p>\n\n\n\n<p>Selain itu, di Controller kita juga harus menambahkan sebuah &#8220;Perkenalan&#8221; untuk system Export PDF kita. jadi nanti Controller tau dengan apa kita mencetak PDF kita. Nah, sekarang mari kita edit File <code>KaryawanController.php<\/code><\/p>\n\n\n\n<p><code>File KaryawanController.php<\/code><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nuse Barryvdh\\DomPDF\\Facade as PDF;\n\nclass KaryawanController extends Controller\n{\n    \/**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     *\/\n    public function index()\n    {\n        return view(&#039;karyawan.index&#039;, &#91;\n            &#039;dataKaryawan&#039; =&gt; Karyawan::get()\n        ]);\n    }\n\n    public function cetak()\n    {\n        $dataKaryawan = Karyawan::all();\n\n        $pdf = PDF::loadview(&#039;karyawan.cetak&#039;, &#91;&#039;dataKaryawan&#039; =&gt; $dataKaryawan]);\n        return $pdf-&gt;download(&#039;laporan-pegawai.pdf&#039;);\n    }\n}\n<\/pre><\/div>\n\n\n<p>Nah, setelah selesai, tinggal kita jalankan Laravel kita, lalu buka url <a href=\"http:\/\/localhost:8000\/\" target=\"_blank\" rel=\"noopener\">localhost:8000<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Praktek<\/strong><\/h3>\n\n\n\n<p>Nah, sekarang kita akan praktek Menampilkan data dan melakukan Export PDF pada Laravel kita. Saat teman-teman buka Projek Laravel di Website, harusnya muncul tampilan seperti ini.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"247\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2022\/03\/Lar-12-2-1024x247.png\" alt=\"\" class=\"wp-image-1151\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/03\/Lar-12-2-1024x247.png 1024w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/03\/Lar-12-2-300x72.png 300w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/03\/Lar-12-2-768x185.png 768w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/03\/Lar-12-2-1536x370.png 1536w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/03\/Lar-12-2.png 1921w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Nah, tinggal klik Tombol Export Data diatas, lalu kalian akan mendapatkan file PDF dengan isi yang sama dengan Gambar diatas.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"481\" height=\"196\" src=\"https:\/\/duniacoding.info\/wp-content\/uploads\/2022\/03\/Lar-12-3.png\" alt=\"\" class=\"wp-image-1152\" srcset=\"https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/03\/Lar-12-3.png 481w, https:\/\/duniacoding.id\/blog\/wp-content\/uploads\/2022\/03\/Lar-12-3-300x122.png 300w\" sizes=\"(max-width: 481px) 100vw, 481px\" \/><\/figure>\n\n\n\n<p>Nah, dengan ini kita sudah selesai membuat Sistem Export PDF pada Laravel dengan <code>Liblary DOMPDF<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Kesimpulan<\/strong><\/h2>\n\n\n\n<p>Nah, diartikel ini teman-teman sudah berhasil mempraktekan cara untuk Export PDF pada Laravel, semoga Artikel ini bermanfaat untuk kita semua yaa, oh ya kalau kalian mau lihat Part 1 dari Artikel ini, bisa klik Link dibawah ini yaa<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><a href=\"https:\/\/duniacoding.info\/belajar-laravel-export-pada-laravel-part-1\/\" target=\"_blank\" rel=\"noopener\">Belajar Laravel 8 #12 : Sistem Export pada Laravel Part 1<\/a><\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Di artikel ini, kita akan melanjutkan Sistem Export PDF pada Laravel. Setelah di artikel sebelumnya kita melakukan instalasi dan persiapan kebutuhan seperti Tampilan dan Database, disini kita akan benar-benar memulai untuk&#46;&#46;&#46;<\/p>\n","protected":false},"author":2,"featured_media":762,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[165,93,94,46,49],"class_list":["post-1149","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial","tag-export","tag-laravel","tag-laravel-8","tag-php","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/1149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/comments?post=1149"}],"version-history":[{"count":4,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/1149\/revisions"}],"predecessor-version":[{"id":1312,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/posts\/1149\/revisions\/1312"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/media\/762"}],"wp:attachment":[{"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/media?parent=1149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/categories?post=1149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/duniacoding.id\/blog\/wp-json\/wp\/v2\/tags?post=1149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}