Pernahkan Anda membuka sebuah situs untuk mencari suatu informasi.? Jawabannya pasti YA. Namun, sering kali informasi yang kita butuhkan terlalu banyak sehingga kita merasa perlu untuk mencetaknya diatas kertas untuk membacanya sewaktu-waktu. Cara yang sering digunakan untuk mencetak sebuah halaman web adalah langsung dari browser dengan memilih file->print.
Namun, cara yang isebutkan diatas seringkali tidak efisien dimana bagian yang tidak penting juga akan ikut tercetak. Untuk mengatasi masalah ini, sebagian web menyediakan fasilitas untuk mencetak dalam bentuk PDF yang lebih siap ready to print. Nah.. pada artikel kali ini kita akan membahas cara untuk membuat file PDF dengan menggunakan PHP dimana ini juga berfungsi untuk membuat ebook, kartu nama dan lainya. So Don’t Miss It.! CeKidOt..!! (alias Check It Out hehe..).
Jika Anda ingin memca secara offline, silahkan download file PDF berikut
Sebelum kita memulai membuat aplikasi sederhana ini, ada baiknya Anda menyediakan beberapa kebutuhan software berikut:
• Paket Web Server(XAMPP, WAMPP, Appserv, dan lain sebagainya)
• Editor PHP (disini penulis menggunakan Dreamveawer CS4)
• Library FPDF (dapat di unduh dari http://www.fpdf.org)
Jika sudah, langkah selanjutnya adalah mengkopi file FPDF yang anda unduh ke direktori server lokal Anda (www atau htdocs) :
Agar dapat memberikan pengetahuan yang lebih mendalam, pada contoh kali ini, penulis akan memberikan contoh pembuatan file PDF yang dinamis. Nah, Langkah pertama, buatlah form dengan dengan menggunakan Dreamweaver seperti gambar dibawah ini :
Setelah itu, langkah selanjutnya kita akan mengubah propeti name pada masing-masing textfield/textarea seperti berikut:
Atau Anda dapat juga mengubahnya melalui jendela code sehingga tampak sepeti gambar berikut :
Jika sudah, simpanlah file diatas dengan nama form_cetak.php pada folder yang tela kita buat sebelumnya pada www atau htdoc. Selanjutnya, buatlah sebuah file bari, kopikan file dibawah ini dan kemudian simpanlah dengan nama “aksi_cetak.php”.
// mesetting direktori FPDFdefine('FPDF_FONTPATH', 'fpdf/font/');require('fpdf/fpdf.php');$nama= $_POST['nama'];$tgl_lhr=$_POST['tgllhr'];$alamat=$_POST['alamat'];//Meninitial objek FPDF$pdf=new FPDF();$pdf->Open();//Menambah Halaman$pdf->AddPage();//Menentukan jenis huruf$pdf->SetFont('Arial', 'B',22);//mengubah mengubah warna font menjadi Merah$pdf->SetTextColor(220,50,50);// Mencetak tulisan// Angka 0 menunjukan lebar space tulisan dari kiri kekanan,jika 0 berarti lebarnya maksimum sesuai dengan lebar kertas// Angka dua menunjukan tinggi tulisan// Angka 0 parameter ke-4 menunjukan tanpa border// Angka 0 parameter ke-5 menunjukan aris selanjutnya yang pada kasus ini kita gantikan dengan Ln()$pdf-> Cell(0,2, 'Master Ronald Online Course',0,0,'C');$pdf->Ln();$pdf->Ln();$pdf->Ln();$pdf->Ln();$pdf-> Cell(0,2, 'Surat Tanda Lulus Belajar FPDF',0,0,'C');$pdf->Ln();$pdf->Ln();$pdf->Ln();$pdf->Ln();//mengubah mengubah warna font menjadi Merah$pdf->SetTextColor(0,0,0);$pdf->Ln();$pdf->Ln();$pdf->Ln();$pdf-> Cell(0,2, $nama,0,0,'C');$pdf->Ln();$pdf->Ln();$pdf->Ln();$pdf->Ln();$pdf-> Cell(0,2, $tgl_lhr,0,0,'C');$pdf->Ln();$pdf->Ln();$pdf->Ln();$pdf->Ln();$pdf-> Cell(0,2, $alamat,0,0,'C');$pdf->output();?>
Kliklah tombol submit, jika tidak ada aral melintang, maka akan ditampilkan tampilan seperti berikut : hehehe..
Untuk pengembangan lebih lanjut, aplikasi ini dapat diterapkan dalam membuat kartu keanggotaan atau bahkan KTP secara online dengan menggabubgkan dengan database seperti gambar berikut :
kalau isian form ada upload fotonya biar tampil dokumen dan hasil dr nilai database gimana?? soalnya ni ak ada tugas untuk buat form pendaftaran yg ada fotonya dan jumlah nilai total.., mohon bantuannya y mas,,, terimakasih...
oh ya mas., skalian tutorial membuat cetak data ktp online itu.., hehe.. please.. terimakasih...
Untuk masalah gambar, mas bisa menguploadnya atau dapat juga melalui link dari website lain..
nah.. berikut kode yang harus dimasukan untuk menyisipkan gambar:
//$this->Image('nama file foto', koordinat X , koordinat Y, Tinggi, Lebar);
$this->Image('foto.jpg', 1 , 1, 2,3);
jika tinggi/lebar gambar tidak ditulis, maka tinggi gambar akan menyesuaikan secara proposional terhadap lebar gambar,.
Mengenai masalah tutorial pencetakan KTP, akan Saya usahakan..
jika membuat output dari tabel dengan kolom yg panjang gmna gan???
supaya tampilanya tampak rapi..
please check this out
http://www.roxxor.co.uk/blog/2007/10/wrapping-text-in-fpdf-table-cells/
mungkin dapat membantu
ada source codena lagi
hehe
mantabs gan
langkah-langkahnya bisa diperinci lagi gak?
Langkah yang bagian mana yang belum rinci ??
Notice: Undefined index: alamat in C:\xampp\htdocs\phpe\cetak.php on line 8
Deprecated: Function set_magic_quotes_runtime() is deprecated in C:\xampp\php\PEAR\fpdf\fpdf.php on line 1165
Deprecated: Function set_magic_quotes_runtime() is deprecated in C:\xampp\php\PEAR\fpdf\fpdf.php on line 1203
FPDF error: Some data has already been output, can't send PDF file
pnya ne kok eror gtu ya ?
Pesan error tersebut terjadi karena fungsi set_magic_quotes_runtime() telah ditinggalkan muali dar PHP 5.30 yang artinya jika Anda mengintal XAMPP / web server terbaru, maka fugsi tersebut tidak dapat digunakan lagi.
Karena fungsi tersebut menyebabkan error yang mengakibatkan output terjadi sebelum $pdf->Output(),
maka FPDF juga ikut eror.
Saran saya Anda silahkan ganti dengan fungsi lai saja
mas, mau nanya?
bagaimana membuat laporan dengan format seperti dibawah ini dalam PHP:
Laporan PT. ABC
| No | Keterangan | Jumlah | Harga | Total |
I. JAKARTA
| 1. | Buku | 2 | 5.000 | 10.000 |
| 2. | Amplop | 1 | 1.000 | 1.000 |
———————————————
Jumlah I 11.000
II. Bogor
| 1. | Meja | 3 | 10.000| 30.000 |
| 2. | Kursi | 5 | 1.000| 5.000 |
———————————————
Jumlah II 35.000
———————————————
Jumlah Total (Jumlah I + Jumlah II) 46.000
tinggal diatur masalah looping nya saja mas.. :)
Ini kalo langsung ambil dari database bisa gak ya? misal pake mysql_fetch_array terus nanti dipilih data yang mau diambilnya
bisa mas..
misalnya
while($data=mysql_fetch_array($query){
$n++;
$pdf-> Cell(1,2, $n,0,0,'C');
$pdf-> Cell(4,2, $data['nama'],0,0,'L');
$pdf-> Cell(1,2, $data['tanggallahir'],0,0,'L');
$pdf-> Ln();
}
Selamat mencoba.. :)
untuk dibikin supaya datanya horisontal, seperti nota pembayaran cara buatnya bagaimana?
maksodna gimana ya gan??
bisa beri gambarnya biar jelas.. hehe
thanks :)
thanks :)
thanks gan atas infonya.
thanks gan atas infonya...
maksudnya $pdf->AddPage(); itu gimana??apa bisa menambah jadi 2-10 halaman?
kok pop up cetak ngak ada ya tulisanya ,apa emang kosongan?
:D
maksudnya $pdf->AddPage(); itu gimana??apa bisa menambah jadi 2-10 halaman?
kok pop up cetak ngak ada ya tulisanya ,apa emang kosongan?
:D
maksud dari $pdf->AddPage() adalah seperti page break pada microsoft WORD. :)
Maksud dari pop up gmn ya? hehe