Belajar PHP: Mencetak Dokumen ke Printer Langsung dengan PHP

Bagi anda yang menggunakan PHP sebagai bahasa pemrograman utama dalam mengerjakan project-project anda, pasti anda akan tertantang untuk menyelesaikan project program kasir dengan PHP. Ya, dengan Visual Basic, Delphi atau bahasa pemrograman lain kita bisa lebih mudah merekayasa modul cetak ke printer. Namun beda halnya dengan PHP, perlu perjuangan ekstra untuk dapat menghasilkan program kasir yang mampu mencetak dokumen langsung ke printer. Umumnya, programmer PHP akan menggunakan 2 solusi untuk memecahkan masalah ini. Solusi itu antara lain:

  1. menggunakan javascript print window,
  2. mencetak teks dalam bentuk PDF yang dimuat dalam browser lalu diprint.

Nah, sebenarnya PHP datang dengan banyak sekali ekstensi yang sangat berguna. Salah satu yang tidak populer dan dapat memecahkan masalah kita tadi adalah php_printer. php_printer adalah ekstensi PHP yang mampu meneruskan teks dari PHP untuk dapat langsung dicetak dengan printer. Solusi ini saya pakai untuk beberapa aplikasi buatan saya seperti PSBOnline Pro, SisfoSekolah Pro, SisKoperasi dll (lihat http://code.emka.web.id).

Awalnya memang cukup sulit untuk menemukan ekstensi ini, tapi sebenarnya anda cukup mudah mendapatkannya dari: http://downloads.php.net/pierre/ dan cari file php_printer-xxx yang sesuai dengan versi PHP anda. Saat tulisan ini terbit, php_printer baru tersedia untuk versi PHP 5.3, untuk versi 5.4 belum diketahui.

Instalasi Ekstensi php_printer

Untuk dapat mengikuti tutorial ini, silakan instalasi dulu ekstensi php_printer. Saya menggunakan XAMPP dengan PHP 5.3 TS VC6.
1. Unduh file php_printer-xxx-ts-vc6.zip
2. ekstrak file php_printer ke folder C:\xampp\php\ext
3. Buka file php.ini di C:\xampp\php\
4. Tambahkan baris

[sourcecode]
extension=php_printer.dll
[/sourcecode]

  1. Jalankan apache atau load ulang PHP anda.

Bila perlu cek dengan membuat file phpinfo() dan cari ekstensi printer apakah sudah dimuat. Contoh, pada sistem lokal saya:

Mencetak Teks ke Printer dengan PHP

Contoh skrip:

[sourcecode language=”php”]
/* contoh text */
$lipsum = ‘Eh, ini adalah testing aplikasi cetak teks langsung ke printer dengan PHP lhoo….’;
/* tulis dan buka koneksi ke printer */
$printer = printer_open("Lexmark X850e XL V");
/* write the text to the print job */
printer_write($printer, $lipsum);
/* close the connection */
printer_close($printer); ?–>
[/sourcecode]

Nama printer dapat anda peroleh dengan melihat daftar printer dan scanner di Devices and Printers (Control Panel). Begitu script ini dieksekusi, PHP akan mengirim teks tersebut untuk langsung dicetak ke printer.

Alternatif Khusus Printer POS/Point of Sales/Printer Kasir

Alternatifnya bisa menggunakan library ESCPOS-PHP di Github -> http://github.com/mike42/escpos-php. Tutorialnya bisa disaksikan di Yutub berikut: