The story behind... ada kebutuhan membuat aplikasi berbasis web menggunakan PHP untuk mencetak struk pembelian oleh kasir (struk yang dicetak sama dengan tampilan pada web browser). Kebutuhannya adalah, kasir tinggal "menekan tombol" untuk mencetak struk pembelian. Kenyataannya aplikasi berbasis web menggunakan PHP sulit melakukan hal demikian. Putar otak... aha! pakai bantuan JavaScript. Searching dikit... voila! ketemu perintahnya yaitu : window.print(). Terus kutak-katik program... berhasil... tapi... header dan footer halaman web-nya tercetak terus "tombol"-nya ikut tercetak juga!!! Searching lagi... hmm, dapet... kutak-katik programmnya lagi... tes lagi... berhasil!
Algoritmanya : saat kasir klik "tombol" yang berupa link maka akan menjaankan suatu function yang isinya; a) perintah untuk menghapus "tombol" (link) dan, b) perintah untuk mencetak halaman web. Sedangkan header dan footer disembunyikan dengan menambahkan atribut pada tag <html> (lihat gambar).
Berikut ini gambar source code sederhana agar bisa mencetak halaman web sekali klik, "tombol"-nya (link) tidak ikut tercetak, demikian pula header dan footer tidak ikut tercetak pula. Perhatikan baik-baik baris yang di-highlight warna kuning. Klik gambar untuk memperbesar. WARNING : source code jalan dengan baik di Mozilla Firefox dan belum pernah diuji coba di web browser lainnya.
Semoga bermanfaat
Update : Di bawah ini tambahan CSS pada blok <head> yang katanya berfungsi pada web browser Chrome dan Safari... katanya lho :p coba sendiri aja ya :)
Selamat belajar!
<style media="print" type="text/css">
@page {
size: auto; /* nilai awal ukuran halaman */
margin: 0mm; /* mengubah margin printer */
}
body {
background-color:#FFFFFF;
margin: 0px; /* mengubah margin konten */
padding: 0.25in 0.5in; /* mengubah padding konten */
}
</style>
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :