Blogroll

Kamis, 11 Juni 2015

Membangkitkan Dokumen PDF dengan Script PHP dan Library TCPDF

Tutorial Information

ProgramPHP
DifficultyStandar
Estimated Time30 Menit
Pernahkah Anda mendapati sebuah situs web yang dapat membangkitkan dokumen PDF yang kemudian dapat diunduh? Misalnya dalam sebuah sistem informasi akademik kemahasiswaan, sistem tersebut dapat mencetak kartu rencana studi mahasiswa dalam bentuk dokumen PDF. Atau saat Anda melakukan transaksi internet banking, aplikasi web tersebut harus dapat mencetak bukti transfer dalam bentuk dokumen PDF.
Salah satu library yang dapat digunakan untuk membuat dokumen PDF seperti yang dimaksud di atas yaitu TCPDF (www.tcpdf.org). TCPDF memuat beberapa kelas PHP untuk memudahkan pengguna mencetak dokumen PDF. Selain itu, TCPDF juga menawarkan banyak fitur untuk membangkitkan dan memodifikasi sebuah dokumen PDF melalui script PHP.
Berikut adalah langkah-langkah instalasi dan penggunaan TCPDF:
Anda bisa memulai tutorial kali ini dengan mengunduh library TCPDF (pilih file tcpdf_version.zip) pada tautan ini: http://sourceforge.net/projects/tcpdf/files/
Langkah selanjutnya adalah mengekstrak file hasil unduhan tersebut ke dalam web server Anda. Jika Anda menggunakan XAMPP, letakkan folder tcpdf tersebut di dalam folder htdocs. Di dalam folder tcpdf terdapat beberapa macam folder yang berisi komponen-komponen seperti file konfigurasi, library tcpdf, contoh aplikasi, dan sebagainya.
BisaKomputer - TCPDF
sampai di sini buatlah sebuah folder, misalnya folder ‘latihan’. Kemudian membuat sebuah file bernama index.php. Isi folder ‘latihan’ tampak sebagai berikut (folder barcodes, config, data, images, lang, dan tcpdf_include.php merupakan komponen default TCPDF yang dapat di-copy-paste dari folder examples)
BisaKomputer - TCPDFPada file index.php, masukkan kode program berikut. Kode program berikut merupakan kode program untuk membuat sebuah form yang meminta input dari pengguna.
?
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
<html>
<head>
  <title>Cetak Formulir dengan TCPDF</title>
</head>
<body>
  <h3>Cetak Formulir dengan TCPDF</h3>
  <form action="cetak.php" method="GET">
    <table>
      <tr>
        <td>Nama</td>
        <td>:</td>
        <td><input type="text" name="nama"></td>
      </tr>
      <tr>
        <td>Perusahaan</td>
        <td>:</td>
        <td><input type="text" name="perusahaan"></td>
      </tr>
      <tr>
        <td>Profil</td>
        <td>:</td>
        <td><textarea name="profil" rows="4" cols="50"></textarea></td>
</tr>
      <tr>
        <td></td>
        <td></td>
        <td><input type="submit" name="submit" value="Cetak"></td>
      </tr>
    </table>
  </form>
</body>
</html>
Membuat sebuah file dengan nama cetak.php. File ini digunakan sebagai aksi dari form index.php. File ini akan membangkitkan dokumen PDF berdasarkan isian pengguna.
?
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
52
53
54
55
56
57
58
<?php
 
// menangkap isi variabel dari index.php
$nama = $_GET['nama'];
$perusahaan = $_GET['perusahaan'];
$profil = $_GET['profil'];
 
// memasukkan pustaka TCPDF utama
require_once('tcpdf_include.php');
 
// membuat dokumen PDF baru
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
 
// menambahkan informasi dokumen
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Aditya Rizki');
$pdf->SetTitle('Cetak Formulir dengan TCPDF');
$pdf->SetSubject('Cetak Formulir dengan TCPDF');
$pdf->SetKeywords('TCPDF, PDF, contoh, formulir, cetak');
 
// mengeset bahasa
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
  require_once(dirname(__FILE__).'/lang/eng.php');
  $pdf->setLanguageArray($l);
}
 
// ---------------------------------------------------------
 
// mengeset font default untuk moda subsetting
$pdf->setFontSubsetting(true);
 
// mengeset font
$pdf->SetFont('dejavusans', '', 14, '', true);
 
// menambahkan halaman baru, terdapat beberapa opsi, dapat dicek di dokumentasi
$pdf->AddPage();
 
// mengeset efek teks bayangan
$pdf->setTextShadow(array('enabled'=>true, 'depth_w'=>0.2, 'depth_h'=>0.2, 'color'=>array(196,196,196), 'opacity'=>1, 'blend_mode'=>'Normal'));
// mencetak konten ke dalam PDF
$html = <<<EOD
<h1>$nama</h1>
<i>- $perusahaan</i><br><br>
<b>Profil</b>
<p>$profil</p>
EOD;
 
// mencetak teks menggunakan writeHTMLCell()
$pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);
 
// ---------------------------------------------------------
 
// Menutup dan mengeluarkan dokumen PDF
$pdf->Output('example_001.pdf', 'I');
 
//============================================================+
// END OF FILE
//============================================================+

Menjalankan Kode Program

  1. Akses file index.php pada browser, sehingga muncul tampilan sebagai berikut.
    BisaKomputer - TCPDF
  2. Kemudian isikan input form di atas sesuai dengan keinginan pengguna untuk melakukan ujicoba.
  3. Klik tombol “Cetak” untuk mendapatkan dokumen PDF. Jika berhasil, maka dokumen PDF yang dihasilkan tampak sebagai berikut.
    BisaKomputer - TCPDF

Penutup

Library TCPDF sangat bermanfaat untuk berbagai macam keperluan. TCPDF mempunyai dokumentasi yang lengkap disertai dengan contoh-contoh kasus yang dapat dilihat pada tautan ini (http://www.tcpdf.org/examples.php). Pengembang situsweb dapat menggunakan library tersebut untuk membangun template dokumen PDF yang dapat dibangkitkan melalui kombinasi HTML, PHP, Javascript, atau bahkan database MySQL. Selamat bermain-main dengan TCPDF.

0 komentar:

Posting Komentar