Ekspor File PDF pada Yii2 - Hallo sahabat Dev-Create, Pada Artikel yang anda baca kali ini dengan judul Ekspor File PDF pada Yii2, kami telah mempersiapkan artikel ini dengan baik untuk anda baca dan ambil informasi didalamnya. mudah-mudahan isi postingan Artikel Ekstensi, Artikel pdf, Artikel yii2, yang kami tulis ini dapat anda pahami. baiklah, selamat membaca.

Judul : Ekspor File PDF pada Yii2
link : Ekspor File PDF pada Yii2

Baca juga


Ekspor File PDF pada Yii2

Hampir semua aplikasi web yang mengusung semangat paperless (mengurangi penggunaan kertas) menyediakan fitur untuk mengunduh berkas versi pdf. Berkas ini mencantumkan kode tertentu yang dapat ditunjukkan kepada pihak lain sebagai bukti bahwa yang bersangkutan sudah melakukan proses tertentu melalui aplikasi web tadi. Kali ini kita menggunakan framework Yii mencoba bereksperimen membuat fitur yang kurang lebih sama: ekspor file pdf.

Kita akan menggunakan pustaka mPDF. Anda dapat mengakses alamat github-nya di sini. Mari langsung saja kita praktikkan. Sebelum kita mulai, pastikan Anda sudah menginstal yii framework. Kalau kami sendiri menggunakan template intermediate yang dapat di-download di sini. Kemudian untuk menghindari permasalahan teknis yang mungkin akan muncul, Anda harus memastikan beberapa persyaratan penggunaan pustaka ini, yaitu versi PHP di atas 5.6 tetapi di bawah 7.3. Selain itu, ada syarat ekstensi PHP gd dan mbstring. Syarat ini untuk pustaka mPDF versi 7, seperti yang kami pakai untuk eksperimen kali ini. Adapun versi mPDF yang lebih rendah bisa Anda baca persyaratannya di sini.

Langkah pertama dalam eksperimen ini adalah menginstal pustaka mPDF. Gunakan composer, ketikkan perintah berikut pada aplikasi konsole anda dengan perintah berikut:

composer require mpdf/mpdf

Langkah kedua adalah bagaimana menggunakannya. Ada beberapa kemungkinan kita akan memanfaatkan pustaka ini. Pada contoh berikut ini, sintaks diletakkan di controller. Anggaplah file tersebut adalah SiteController.php (terletak di folder controllers).

Pastikan kita sudah mencantumkan use Mpdf\Mpdf as mPDF; di bagian awal class controller seperti contoh  berikut:



Selanjutnya kita akan membuat beberapa contoh. Namun, secara umum kode pertama yang harus Anda ketikkan adalah membuat instans baru dari mPDF sebagai berikut:

$mpdf = new mPDF();

Dengan sintaks di atas, mPDF akan membuat file temporary di folder vendor mpdf. Untuk itu, kami merekomendasikan untuk membuat settingan folder temporary seperti berikut:

$mpdf = new mPDF([
'tempDir' => __DIR__ . '/../runtime/tmp_mpdf',
]);

Berawal dari instans di atas, kita akan membuat beberapa contoh membuat file pdf berikut:

Membuat pdf dengan tag HTML biasa

$mpdf->WriteHTML('<h1>Contoh HTML</h1>');
$mpdf->Output();
exit;

Hasilnya akan tampil di-browser seperti berikut ini:


Membuat pdf dengan render partial

$mpdf->WriteHTML($this->renderPartial('pdf/partial'));
//pastikan sudah ada file views/pdf/partial.php
$mpdf->Output();
exit();

Membuat pdf dari tabel

Misalkan kita menggunakan cara render partial seperti contoh sebelumnya,

$mpdf->WriteHTML($this->renderPartial('pdf/table'));
$mpdf->Output();
exit();

Maka kita harus menyiapkan file views berisi tabel seperti berikut (file views/pdf/table.php):

<style type="text/css">
table{
border-collapse: collapse;
}

table, td, th {
border: 1px solid black;
}
thead, th {
background-color: lightgreen;
line-height: 200%;
}
</style>
<table width="100%">
<thead>
<tr><th>Kolom 1</th><th>Kolom 2</th></tr>
</thead>
<tbody>
<tr><td>Data 1</td><td>Data 2</td></tr>
<tr><td>Data 1-2</td><td>Data 2-2</td></tr>
<?php
for ($i=0; $i < 100; $i++) {
echo '<tr><td>Data 1-3</td><td>Data 2-3</td></tr>';
}
?>
</tbody>
</table>

Pada contoh tabel di atas, karena kita menggunakan <thead>, setiap ganti halaman header akan tercetak lagi.

Menambah halaman

$mpdf->WriteHTML('<h1>Halaman 1</h1>');
$mpdf->AddPage('L'); // menambah halaman dengan orientasi landscape
$mpdf->WriteHTML('<h2>Halaman 2</h2>');
$mpdf->Output();

Membuat file pdf yang otomatis ter-unduh

$mpdf->WriteHTML($this->renderPartial('pdf/partial'));
$mpdf->Output('mPDF_contoh.pdf', 'D'); //D = download
exit();

Menyimpan file pdf di server.

$mpdf->WriteHTML('<h1>File PDF yang disimpan</h1>');
$mpdf->Output('file_mpdf.pdf', 'F'); //F = Fie, file ada di folder web
echo 'Silakan buku di <a href="/file_mpdf.pdf">web/file_mpdf.pdf</a>';
exit();

Mengirim email file pdf

$mpdf->WriteHTML('<h1>File PDF yang dikirim via email</h1>');
$content = $mpdf->Output('', 'S'); //S = string
$email = Yii::$app->mailer->compose()
->setTo('belakode@gmail.com')
->attachContent($content, ['fileName' => 'attach_mpdf', 'contentType' => 'application/pdf'])
->send();
echo 'email terkirim dengan attachment.';
exit();

Demikian contoh-contoh membuat file pdf dengan pustaka mpdf. Semoga bermanfaat. Referensi selengkapnya dapat Anda baca di https://mpdf.github.io.


    Demikianlah Artikel Ekspor File PDF pada Yii2

    Sekianlah artikel Ekspor File PDF pada Yii2 kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.

    Anda sekarang membaca artikel Ekspor File PDF pada Yii2 dengan alamat link https://dev-create.blogspot.com/2017/06/ekspor-file-pdf-pada-yii2.html