Rabu, 21 Oktober 2015

Menggunakan HTML2PDF

Selamat siang... Kali ini kita akan belajar sedikit tentang HTML2PDF. Kalau dalam postingan saya yang sebelumnya kita bisa membuat laporan pdf menggunakan FPDF, di sini ada alternatif yang lebih mudah digunakan yaitu HTML2PDF.

Seperti namanya, HTML2PDF itu mengkonversi halaman html menjadi pdf dengan kode yang tidak terlalu banyak. Akan tetapi, belum tentu tampilan pdf-nya sama dengan tampilan aslinya (html). Karena tidak semua style atau css yang digunakan bisa ikut diubah dalam bentuk pdf.

Baiklah, langsung saja...

1. Sebelumnya, silahkan download HTML2PDF di http://html2pdf.fr/en/download


2. Jika ter-direct ke sini, tekan link yang dilingkari

3. Setelah kita mendownloadnya, ekstrak dan letakkan hasil ekstrakan tersebut pada aplikasi yang kita buat.
4. Bagaimana penggunaannya? Sebenarnya, di dalam hasil ekstrakan tadi sudah ada file-file contoh untuk mengubah html menjadi pdf. Tapi intinya seperti ini:

<?php

ob_start();
include(dirname(__FILE__).'file.html');
$isi = ob_get_clean();

require_once(dirname(__FILE__).'/../html2pdf.class.php');
try{
 $html2pdf = new HTML2PDF('P','A4','en');
 $html2pdf->writeHTML($isi, isset($_GET['vuehtml']));
 $html2pdf->Output('cover.pdf');
}
catch(HTML2PDF_exception $e){
 echo $e;
 exit;
}

?>

- Ganti file.html dengan path atau direktori tempat file html kita. Bisa juga file php.
- Ganti '/../html2pdf.class.php' dengan path atau direktori tempat file html2pdf.class.php.
- Pada $html2pdf = new HTML2PDF('P','A4','en');  P berarti Potrait, kita bisa menggantinya dengan L untuk Landscape. A4 adalah ukuran kertas, silahkan disesuaikan dengan ukuran kertas yang kita inginkan. Sedangkan en adalah bahasa. Berhubung bahasa indonesia belum ada, kita gunakan saja en yang berarti bahasa Inggris atau fr yang berarti bahasa Prancis.
- Untuk $html2pdf->Output('file.pdf'), ganti file.pdf dengan nama yang kita inginkan. Biasanya saya samakan dengan nama file html atau php yang diubah menjadi pdf. Hanya saja, tentunya dengan akhiran .pdf.

Baiklah, itu yang dapat saya sampaikan. Semoga berguna...

7 komentar:

  1. fungsi ob_start(); apaan sih gan?

    BalasHapus
    Balasan
    1. ob_start();

      itu buat memulai yg mau dijadiin pdfnya (starting point)

      Hapus
  2. Ketika saya membuat 3 tabel,mengapa tabel ke 3 selalu pindah ke halaman berikutnya? Sehingga menyisahkan space kosong di bawah tabel ke 2.

    BalasHapus
  3. Klo kita pengen kertasnya ukuran yang lain gimana ya. Misalnya Fanfold 210 mm x 305 mm

    BalasHapus
  4. Gan mau tanya kenapa pdf tidak kebaca cuma htmlnya aja

    BalasHapus
  5. ka, gimana caranya pasang di yii2. Supaya file html view saya bisa dirender?

    BalasHapus