Tanggal :August 5, 2020

Tutorial Export PDF Pada Laravel

Spread the love

Laravel menyedikan library untuk mempermudah melakukan sesuatu pada code kita contohnya untuk mencetak pdf sebuah file html.

Secara singkat library akan merender sebuah file html yang telah kita buat. seperti halnya mengeprint sebuah dokumen pada word namun untuk laravel kita akan mengexport sebuah file html ke sebuah file pdf dimana laravel telah menyediakan library.

1. install library

dengan menjalankan di cmd pada folder laravel kita dengan kode seperti ini :

1
composer require barryvdh/laravel-dompdf

2. Update Config open file config/app.php file dan tambahkan source code berikut :

1
2
3
4
'providers' => [

 BarryvdhDomPDFServiceProvider::class,
],

dan pada bagian aliases, tambahkan kode berikut:

1
'PDF' => BarryvdhDomPDFFacade::class,

3. Jalankan perintah berikut :

1
php artisan vendor:publish --provider="BarryvdhDomPDFServiceProvider"

4. Buat tampilan file HTML yang mau dicetak seperti tambilan berikut dengan nama file checkout.blade.php :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<html>
    <head>
    <link href="{{ asset('assets/node_modules/bootstrap/css/bootstrap.min.css')}}" rel="stylesheet">
    <!-- Custom CSS -->
    <link href="{{ asset('css/style.css')}}" rel="stylesheet">
    <!-- You can change the theme colors from here -->
    <link href="{{ asset('css/colors/default.css')}}" id="theme" rel="stylesheet">
    </head>
        <body>
            
            <p>
            <div class="container">
                <div class="row">
                    <div class="col-sm"><a href="chekcout" class="btn btn-warning" target="_blank">Kembali</a></div>
                    <div class="col-sm"><h4> Biaya Tagihan Berobat Klinik Medika </h4></div>
                    <div class="col-sm"><a href="checkout_pdf" class="btn btn-primary" target="_blank">CETAK PDF</a></div>
                </div>
                <div class="row">
                    <div class="col-sm">
                    <table class="table">
                        <thead>
                            <tr>
                            <th scope="col">No</th>
                            <th scope="col">Tanggal</th>
                            <th scope="col">Nama</th>
                            <th scope="col">Dokter</th>
                            <th scope="col">Biaya</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                            @php
                            $no = 1;
                            @endphp
                            
                            <th scope="row">{{$no++}}</th>
                            <td>{{$pasien->nama}}</td>
                            <td>{{$pasien->dokter}}</td>
                            <td>{{$pasien->biaya}}</td>
                            <td>{{$pasien->tgl_masuk}}</td>
                            </tr>
                          
                        </tbody>
                        </table>                    
                    </div>
                    
                </div>
                </div>
        </body>
  
</html>

5. Buat Controller dengan fungsi checkout_pdf dan menambah fungsi sebagai berikut :

1
2
3
4
public function checkout_pdf(Pasien $pasien , Dokter $dokter){
        $pdf = PDF::loadView('checkout_pdf', compact('pasien'))->setPaper('a4', 'landscape');
        return $pdf->stream();
}
Share

Leave a Reply

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