Tutorial mengenai pembuatan laporan PDF dengan PHP ini adalah bagian pertama dari tutorial pembuatan file PDF dengan PHP. Untuk tahap perkenalan pembuatan laporan PDF, kita hanya akan menggunakan PHP dan TCPDF.

Buat form sebagai tempat menampung inputan user, misalkan kita beri nama index.php

    <!doctype html>
    <html lang="en">
    <head>
    <meta charset="utf-8" />
    <title>Tutorial Pembuatan Laporan PDF dengan PHP</title>
    </head>
    <body>
    <h1>Isi data diri anda</h1>
     <form action="kepdf.php" method="POST">
        Nama : <input type="text" name="nama"><br>
        Email : <input type="text" name="email"><br>
        No. HP : <input type="text" name="nohp"><br>
        Website : <input type="text" name="website"><br>
        <input type="submit" value="Generate PDF">
     </form>
    </body>
    </html>

Tampilan dari index.php ketika dibuka di browser
input user tcpdf

form diatas akan diarahkan ke kepdf.php, buat file baru kepdf.php isi dengan script

<?php
require_once('tcpdf_include.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// today
$date = date('d/m/Y H:i a');
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Tommy S');
$pdf->SetTitle('Demo PHP PDF');
$pdf->SetSubject('Demo Laporan PDF');
$pdf->SetKeywords('pdf, jaranguda, tutorial');
 
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE );
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
 
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
 
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
$pdf->setPrintFooter(false);
$pdf->setPrintHeader(false);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->SetFont('helvetica', 'B', 20);
$pdf->AddPage('P');
$pdf->Write(0, 'Demo PDF', '', 0, 'L', true, 0, false, false, 0);
$pdf->SetFont('helvetica', '', 8);
//print_r($_POST); 
 
 
$nama = $_POST['nama'];
$email = $_POST['email'];
$nohp = $_POST['nohp'];
$website = $_POST['website'];
 
$tbl = <<<EOD
<br>
<br>
<table border="1" cellpadding="5">
	<tr>
		<td>Nama</td>
		<td>$nama</td>
	</tr>
	<tr>
		<td>Email</td>
		<td>$email</td>
	</tr>
	<tr>
		<td>No. HP</td>
		<td>$nohp</td>
	</tr>
	<tr>
		<td>Website</td>
		<td>$website</td>
	</tr>			
</table>
<p font="#000" bgcolor="#fff">$date</p>
EOD;
 
$pdf->writeHTML($tbl, true, true, true, true, '');
$pdf->Output('demoaja.pdf', 'I');

Untuk mengubah layout halaman dari Portrait ke Landscape ubah bagian $pdf->AddPage('P'); ke $pdf->AddPage('L');
Contoh output script diatas
hasil demo pdf

Form diatas dan script untuk proses pembuatan PDFnya sudah selesai, tapi masih ada beberapa file yang kurang, download file lengkapnya dibawah ini, dan jalankan di komputer anda.

Join the Conversation

2 Comments

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

  1. mas, klo ambil data nya dari database caranya gmna biar hasil outputnya sama seperti contoh yang di atas (saya pake ci 2 dan tcpdf)
    thanks