Mencetak halaman website sering kita lakukan lewat browser menggunakan code javascript window.print(). Bagi yang menggunakan aplikasi web dalam mengembangkan suatu aplikasi perkantoran atau aplikasi yang melakukan kegiatan internal perusahaan/offline/hanya dalam jaringan LAN menggunakan fitur pencetakan browser dinilai lambat.
Mencetak di printer kasir |
Kali ini kita akan memanfaatkan PHP sebagai bahasa pemrograman yang langsung berhubungan dengan printer. Printer yang kita gunakan kali ini adalah EPSON TM-U220D yang memiliki kemampuan mencetak continues paper. Selain itu kita juga bisa bereksperiment dengan printer-printer lain yang bebau printer kasir seperti LX300.
Pastikan printer yang kita gunakan sudah terinstal baik pada komputer/laptop. Tes printer tersebut dengan mencetak suatu data lewat notepad atau Microsoft word. Yuk mari kita mulai dengan membuka file php.ini yang ada di xampp/apache/bin. Cari baris code yang menampilkan
;extension=php_printer.dll
Hilangkan tanda titik koma code tersebut sehingga code tersebut seperti berikut
extension=php_printer.dll
Sebelumnya , anda harus punya dulu file php_printer.dll nya, jika belum ada anda dapat mendownloadnya disini http://www.dlldll.com/php_printer.dll_download.html. Kemudian letakkan file php_printer.dll pada folder xampp/php/ext. Jika sudah, save perubahan tersebut dan kita bisa menutup file php.ini Lalu merestart server Apache. Kita langsung saja buat halaman “helloworld.php” pada folder “cetakphp” yang sebelumnya kita buat pada htdocs. Langsung saja kita tulis beberapa baris code berikut pada halaman helloworld.php
//definisikan nama printernya dibawah $handle= printer_open(“EPSON TM-U220D Receipt”); printer_set_option($handle, PRINTER_MODE, "RAW"); printer_start_doc($handle, "Tes Printer"); printer_start_page($handle); //tuliskan huruf yang akan dicetak disini $cetak = “Hello World”; printer_write( $handle , $cetak); printer_end_page($handle); printer_end_doc($handle); printer_close($handle);
Setelah itu langsung kita save dan jalankan pada browser kesayangan masing-masing dengan mengetik "http://localhost/cetakphp/helloworld.php" pada URL. Baris-baris code tersebut akan mencetak tulisan “Hello World” pada kertas. Kita bisa menekan tombol refresh untuk mencetak ulang. Dengan baris code2 diatas ada beberapa hal yang harus diketahui
- Printer akan berhenti menggulung kertas tepat dibawah tulisan hello world tanpa ada jarak. Tidak seperti printer deskjet yang menggulung sebuah kertas sampai habis. Karena dengan menggunakan sintak ini printer tidak memiliki kemampuan mengenali model kertas. Yang dia lakukan hanya mencetak.
- EPSON TM-U220D memiliki 40 karakter pada 1 baris cetakannya. Sedangkan LX300 memiliki 80 karakter/baris. Jika ingin mencetak suatu karakter pada EPSON TM-U220D seperti
“Hello World,
Nama Saya Kurnia”
Nama Saya Kurnia”
Dimana setelah tanda koma ada baris baru (enter) kita harus menulis dengan
“Hello World,[Spasi sebanyak 28]Nama Saya Kurnia”
Code print yang dimiliki php ini bisa kita gunakan pada saat kita membuat software penjualan berbasis web yang mengharuskan fitur pencetakan dengan cepat. Jadi tanpa harus memilih tipe kertas lagi seperti prosedur cetak menggunakan browser.
Tutorial ini telah sukses saya praktekkan di XAMPP 1.7.1. Contoh aplikasi web base yang saya buat menggunakan cara ini adalah program Antrian E-KTP. Anda bisa mencobanya disini http://kurnia.horizon-host.com/antrian/