Mencetak cepat di Printer Kasir dengan code PHP

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.

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
  1. 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.
  2. 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”
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/

Share on Google Plus

About Kurnia Rahman

Kurnia Rahman Agus - Programmer lepas yang mengisi hari-harinya dengan memberikan ilmu kepada siswa-siswi di salah satu SMK di Pekanbaru. Beliau aktif di beberapa komunitas seperti Blogger Bertuah dan Baleno Club Riau.

6 comments :

  1. This comment has been removed by the author.

    ReplyDelete
  2. Halo, untuk mengaktifkan threaded comment perlu satu lagi yang harus dilakukan oleh blog ini, yaitu membuat RSS Feed-nya full. Di blog saya sudah saya sampaikan dua langkah yang harus dilakukan, coba cekidot.

    ReplyDelete
  3. teknologi memang semakin maju dan canggih >.<
    share yang menarik..
    salam kenal

    duh pilihan comment gag ada name n url yah T_T

    ReplyDelete
    Replies
    1. salam kenal kembali :)
      sengaja mbak, biar gak ada yg nyepam.. :D

      Delete
  4. tidak ada php.ini di xampp\apache\bin versi berapa xampp nya, atau saya salah install php.ini adanya di xampp\php moohon pencerahan

    ReplyDelete
  5. THAAAAAAAANK's INFO NYA...
    bisul ane PECAH,,,
    hahaha

    ReplyDelete

Terima kasih telah berkunjung, Semoga Bermanfaat..