PHP Direct Printing Printer Dot Matrix (LX-300)


Tidak diragukan lagi, direct printing masih menjadi andalan untuk urusan cetak-mencetak, terutama untuk program/aplikasi POS. Karena aplikasi ini membutuhkan kecepatan dalam melakukan cetak dokumen/struk.

Barusan ngoprek dan eksperimen dengan VB.Net untuk cetak langsung ke printer dot matrix tanpa spooling. Dan ternyata caranya hanya dengan meng-copy file temporary ke path printer (yang sudah disharing).

Bermodalkan teknik tersebut, saya coba terapkan di PHP dengan teknik yang sama dan berhasil.

Mudah-mudahan bermanfaat bagi teman-teman disini.


<?php
$tmpdir = sys_get_temp_dir();   # ambil direktori temporary untuk simpan file.
$file =  tempnam($tmpdir, 'ctk');  # nama file temporary yang akan dicetak
$handle = fopen($file, 'w');
$condensed = Chr(27) . Chr(33) . Chr(4);
$bold1 = Chr(27) . Chr(69);
$bold0 = Chr(27) . Chr(70);
$initialized = chr(27).chr(64);
$condensed1 = chr(15);
$condensed0 = chr(18);
$Data  = $initialized;
$Data .= $condensed1;
$Data .= "==========================\n";
$Data .= "|     ".$bold1."OFIDZ MAJEZTY".$bold0."      |\n";
$Data .= "==========================\n";
$Data .= "Ofidz Majezty is here\n";
$Data .= "We Love PHP Indonesia\n";
$Data .= "We Love PHP Indonesia\n";
$Data .= "We Love PHP Indonesia\n";
$Data .= "We Love PHP Indonesia\n";
$Data .= "We Love PHP Indonesia\n";
$Data .= "--------------------------\n";
fwrite($handle, $Data);
fclose($handle);
copy($file, "//localhost/xprinter");  # Lakukan cetak
unlink($file);
?>

Jangan lupa Printer yang akan digunakan untuk men-cetak di sharing terlebih dahulu. Ganti ‘localhost’ menjadi IP komputer dimana printer yang tadi disharing berada. “xprinter” adalah nama sharing printer.
Saya belum mencoba di jaringan LAN, baru dioba di localhost.
Untuk Escape Code akan saya posting dikemudian hari.

Jika ada masalah dengan printer pastikan printer bisa diakses dari komputer server apache/php, lakukan-langkah berikut ini:

1. Pada komputer server apache/php buka run, ketik \\ip_komputer_printer.
2. Duoble klik pada icon nama printer yg dimaksud. (nama ini yg nantinya digunakan untuk koneksi di php).
3. Jika driver printer blm terinstal maka windows akan otomatis melakukan instalasi.
4. Jika driver sudah terinstal maka akan muncul window status print.
5. Lakukan test print ke printer tersebut (anda pasti tahu caranya).
6. Jika sudah berhasil melakukan test print dari komputer server, maka printer sudah siap untuk digunakan.

UPDATES

Berhubung banyak permintaan mengenai ESC Code, sekarang saya upload kode nya. Semoga bermanfaat.

http://www.4shared.com/office/nW0bYqaR/escode.html

Silahkan buka menggunakan notepad, jika hasilnya berantakan, ganti font pada notepad menjadi TERMINAL.

About these ads
  1. Bagaimana kalo datanya dari database mas,kalo contoh diatas kan langsung dari script nya?makasih

      • Ofidz Al-akadarnya
      • April 28th, 2014

      Ambil data menggunakan query seperti biasa (mysql_query()). Kemudian simpan pada sebuah variabel.
      Masukkan variabel tersebut kedalam script yang seperti diatas.

      • sebenarnya aplikasi nya udah bisa ambil datanya mas,cuma pas pengaplikasian untuk ke printer nya itu yang belum ketemu caranya.
        jadi sekarang masih seperti ngeprint biasa.kalo bisa minta kontak supaya bisa saya menghubungi ,boleh pin bb,ym,hp…soalnya tinggal 1 langkah lagi ini yang buat saya binggung,makasih mas

        • Ofidz Al-akadarnya
        • April 28th, 2014

        Silahkan tinggalkan alamat email. Nanti saya kirimkan kontak saya via email.
        Thanks

      • trieyono@gmail.com

    • iya,, saya juga mengalami hal yang sama ne,, gimana ya..

    • makasih ilmu nya mass

    • Yustaf
    • January 29th, 2014

    Assalamualaikum
    Gan saya mau tanya :
    biar tinggi kertasnya otomatis gimana?
    ini contoh kodingnya –> Private PaperSize As New System.Drawing.Printing.PaperSize(“Custom Size”, 740, 800)
    “””800 itu tinggi manualnya”””

      • Ofidz Al-akadarnya
      • January 29th, 2014

      Waduh, ini VB.Net ya gan?
      Nyerah gan, udah lama ane nggak pegang dotnet. :)

    • ulum ichiru
    • December 26th, 2013

    gan bisa minta tolong di jelasin per barisnya kah?
    maaf newbie

      • Ofidz Al-akadarnya
      • December 26th, 2013

      Waduh. Panjang gan kalo satu2. Ditanyain yang kurang paham aja. Baris yg mana?

        • ulum ichiru
        • December 26th, 2013

        script cetaknya yang ini khan gan
        copy($file, “//localhost/xprinter”); # Lakukan cetak,
        nah.. .ane khan pake printer yg di share,trus scriptnya jadi gini
        copy($file, “//192.168.2.22/namaprinter”); # Lakukan cetak

        tapi kok tetep g bisa y gan?
        padahal ane udah copas smw script di atas.. .

        makasi buat responnya gan.. .

        • Ofidz Al-akadarnya
        • December 26th, 2013

        Coba lakukan print menggunakan command prompt terlebih dahulu. Baca komen2 lama saya.

      • ulum ichiru
      • December 26th, 2013

      udah aq coba tetep g bisa gan,
      ane pake printer LAN

        • Ofidz Al-akadarnya
        • December 26th, 2013

        Baca komen2 yg lalu gan. Ada banyak trik2nya disitu.

        • Ofidz Al-akadarnya
        • December 26th, 2013

        Pastikan printer yg digunakan bisa melakukan print dari komputer dimana php & apache diinstal. Bisa dicoba menggunakan printing secara spooling terlebih dahulu kemudian coba menggunakan command prompt. Jika berhasil melakukan print dr cmd, maka seharusnya tidak ada masalah utk printing dr php.

    • Sony
    • December 25th, 2013

    Boss, klo script itu tak tes di windows gk mslh, cmn klo pake linux gk bs, apa slh setting copy nya itu y?

      • Ofidz Al-akadarnya
      • December 26th, 2013

      Ada muncul error nya nggak boss? Saya belum nyoba di linux soalnya.

        • Sony
        • December 26th, 2013

        Alhamdulillah dah qtemu, perintahnya gk pake copy, tp “lp -d Epson-LX-300 “.$file, kyak gt, cmn nih ada kendala ngetes2 escapenya, klo yg sibos ksh tutor set italic font : chr(27).chr(33).chr(64), itu gmn caranya klo italicnya cmn 1 baris aja?, maksutnya yg contohnya itu kn tag bukaannya aj, klo tag tutupannya gmn..? makasih bnyak sblmyan… :)

        • Ofidz Al-akadarnya
        • December 26th, 2013

        Berarti pake function exec atau shell_exec atau bagaimana kalo di linux?
        Untuk mengembalikan font ke style semula. Coba pake esc code yang condensed (27-33-4).
        Ini link esc code yg langsung bisa dibuka.
        ftp://ftp.lprng.com/pub/LPRng/RESOURCES/PPD/epson.htm

        • Sony
        • December 30th, 2013

        Iy, pake command : exec, cmn ini yg msh blm paham cara buat garis, sm set fontnya custom, set font size gk ada y? kira2 font yg paling kecil apa y?

        • Ofidz Al-akadarnya
        • December 30th, 2013

        Yang condensed itu udah paling kecil kalau di dot matrik. Untuk garis horizontal bisa pake min (-) atau sama dengan (=). Untuk garis vertikal lupa. Ada kok karakter untuk membuat garis2.

  2. gan mau nanya kalau kita pake internet kayak gimana ya ngakalinya?

      • Ofidz Al-akadarnya
      • September 11th, 2013

      Maksudnya nge-print nya lewat internet?
      Pakai VPN gan.

  3. Mas…saya sudah bisa pake cara ini..terima kasih tutorialnya…tapi ada satu masalah….ketika user lupa menghidupkan printer kan printer engga nyetak…(engga nyetaknya enggak masalah sih)…tapi nanti di hari yang lain begitu user melakukan transaksi dan printer di nyalakan maka printer akan ngeprit job-job lama yang belum ter print….nah solusi buat seperti ini gimana yah….saya mikirnya begini…coba kalo bisa ngecek printer nya idup atau enggak….apa bisa ya dari php ngecek shared printer on atau of???

      • Ofidz Al-akadarnya
      • August 3rd, 2013

      Belum pernag nyoba untuk cek status printer. Coba menggunakan is_dir utk mengecek status. Karena printer tsb kita anggap seoalah2 sebagai folder.

    • alfkos
    • May 21st, 2013

    mantaff artikelnya..
    btw kalau mau set cetak rata kanan bagaimana ya gan ?

      • Ofidz Al-akadarnya
      • May 23rd, 2013

      Harus main itung2an gan. Dihitung banyaknya karakter per baris, kemudian isi karakter awal dan seterusnya menggunakan spasi. Sehingga tulisan pas mepet kanan.
      Sudah ada gambaran belum gan?

  4. direct printing pakai share printer lama nya bukan main.
    tidak cocok di gunakan untuk kasir, bisa panjang antrian kasir.
    jauh lebih cepat jika pc yang kita gunakan merupakan localhost.
    jika pc yang kita gunakan sebagai client, jangan coba coba di gunakan sebagai kasir, lama banget.
    solusinya adalah menjalan kan webserver di tiap pc, sedang databasenya bisa remote menggunakan putty.

    • Bayu
    • April 5th, 2013

    Gan mau tanya dong, kalo mau print dengan dot matriks ada pengaturan khusus ga?

      • Ofidz Al-akadarnya
      • April 6th, 2013

      Nggak ada pengaturan khusus. Tapi pastikan drivernya sudah terinstal dg baik. Dan lakukan print dr php, bukan menggunakan spooling lewat windows.

  5. Kalo kasusnya seperti ini Gan :
    ada satu server dimana apache server dan php nya di instal di server ini. Kemudian masing2 klien memiliki printer sendiri sendiri.
    bagaimana saya dapat mencetak dengan direct printing ?
    tks

      • Ofidz Al-akadarnya
      • March 30th, 2013

      Maaf baru sempat bales. Kemarin habis liburan. :D
      Teknik nya seperti ini.
      Buatlah satu tabel database yang isinya adalah nama sharing printer di masing2 klien.
      Misal IP Server PHP/Apache 192.168.0.1
      IP Klien/Printer 192.168.0.100
      Alamat Sharing printer //192.168.0.100/epson-lx
      Di tabel database minimal berisi kolom:
      ID | ip_klien | printer_sharing
      Isi dari tabel tsb misal:
      1 | 192.168.0.100 | //192.168.0.100/epson-lx

      Pada saat klien melakukan print, detek IP klien (akan ketemu IP 192.168.0.100). Lakukan query untuk mengambil nama printer sharing (akan ketemu //192.168.0.100/epson-lx).
      Lakukan copy() menggunakan nama printer sharing tersebut.

      Kira-kira seperti itu :D

    • Ikka
    • December 21st, 2012

    Kalau servernya linux, apakah sudah coba ?

      • Ofidz Al-akadarnya
      • December 21st, 2012

      Belum nyoba, tapi patut dicoba.
      Silahkan anda mencoba nya terlebih dahulu :D
      Nanti kalau berhasil share kesini. Okay…

    • larry
    • November 30th, 2012

    mas mau nanya, kalau scriptnya di testing dgn printer biasa dan localhost, apa scriptnya juga jalan ya mas??

      • Ofidz Al-akadarnya
      • November 30th, 2012

      Dicoba aja. Kayaknya sih nggak jalan kalo dicoba di printer biasa (deskjet/inkjet/laserjet)

        • larry
        • November 30th, 2012

        iya mas.. sy sudah coba tapi gak jalan.. tapi saya liat di status antrian printing filenya muncul sih, giliran dieksekusi sama printernya, statusnya selesai tapi printer sama sekali tidak merespon mas

        • Ofidz Al-akadarnya
        • November 30th, 2012

        Karena sistem printingnya beda gan.

        • larry
        • November 30th, 2012

        kalau dari printer dot matrix, apa perlu di set dulu printernya buat direct printing atau scriptnya bisa lngsung jalan dan brhasil mas??

        • Ofidz Al-akadarnya
        • November 30th, 2012

        Silahkan baca saja tutorial dan komentar dibawah. Saya rasa sudah cukup jelas.

      • larry
      • November 30th, 2012

      hehe ok deh makasih bnyk gan

        • Ofidz Al-akadarnya
        • November 30th, 2012

        Sip, lanjutkan gan..

        • larry
        • December 1st, 2012

        gan hari ini sy testing lewat jaringan peer to peer, komputer win 7 terkoneksi dengan printer, sy share printernya, dengan komputer win xp, printer yg di share udah terdetect, udah bisa tes printiing lewat komputer win xp gan, terus file direct printingnya saya testing di win xp
        tapi tampil pesan error

        “copy(//192.168.1.1/epson) [function.copy]: failed to open stream: Permission denied in C:\htdocs\print.php”..

        padahal jika saya tes running scriptnya lewat win 7 copy(//localhost/epson).. berhasil gan

        settingan ipnya sy buat seperti ini gan
        win 7 192.168.1.1
        win xp 192.168.1.2

        status display printer di win xp jika running script di win 7, tampil antrian file direct printnya gan, hanya saja jika script sy jalan kan di win xp yg msh eror gan..

        ada solusi gan??

        • Ofidz Al-akadarnya
        • December 1st, 2012

        Itu server PHP nya di komputer yang mana gan?

        Oke, kita coba dulu tanpa menggunakan PHP ya.
        Buatlah sebuah file txt di C:\ dengan nama test.txt, buka file tersebut dan silahkan ketik sembarang di file tersebut. Kemudian simpan.
        Buka Command Prompt,
        ketik: copy C:\test.txt \\192.168.1.1\epson

        Dengan cara tersebut apakah berhasil melakukan printing?

        • larry
        • December 3rd, 2012

        server phpnya di windows xp gan..
        terus printernya terpasang di windows 7…

        apa memang jika menggunakan fasilitas copy, data yg mau di print tersebut dikirim ke PC tapi PC nya malah bingung data tersebut mau diapain gan??

        kira-kira jika menggunakan printer server, gimana tuh gan??

        ok saya coba dulu lewat command prompt gan, mdh2n bershasil..

        • larry
        • December 3rd, 2012

        sudah saya coba gan, tapi hasilnya access denied, gimana tuh gan??

        • Ofidz Al-akadarnya
        • December 3rd, 2012

        Menggunakan command prompt juga tidak bisa? Kemungkinan sharing printernya bermasalah atau user yang digunakan tidak mempunyai akses ke printer.

        • larry
        • December 4th, 2012

        nah itu yang sy heran gan..
        padahal udah testing print test page via komputer yang jadi server php ke komputer yang tercolok printer…

        • Ofidz Al-akadarnya
        • December 4th, 2012

        Coba cek di printer properties -> Security. Pastikan Group Everyone bisa melakukan print.

      • larry
      • December 5th, 2012

      akhirnya berhasil gan, setelah mencari sana-sini..
      heheh
      ternyata administrative–>service–>apache juga harus di setting logonnya gan.. diganti jadi user dari pc tempat server appserv berada..
      tapi password dari user juga harus diisi..
      makasih banyak gan.. sudah bnyk membantu

        • Ofidz Al-akadarnya
        • December 6th, 2012

        Wah mantabb gan.. Ane baru tahu juga. Thx share nya.

        • larry
        • December 6th, 2012

        iya sama-sama gan… hehe.. :))

  6. ada solusi mas??

    • Rudi
    • October 13th, 2012

    Mas bisa tolong dong dikasih contoh penggunaan ESC code dalam file phpnya..

      • Ofidz Al-akadarnya
      • October 13th, 2012

      Masih bingung cara pakainya ya mas? Hehehe.. Sama, saya juga puyeng.
      Untuk membaca tabel ESC Code kita membutuhkan bantuan tabel ASCII Code, bisa dilihat disini: http://www.asciitable.com/
      Kira-kira penggunaanya seperti ini.
      Misal kita ingin membuat supaya text yang dicetak menjadi Italic. Kita lihat di tabel escode. Kode Italic adalah ESC ! n, dimana nilai n untuk italic adalah 64, kemudian kita lihat tabel ASCII. dimana nilai desimal ESC = 27, ! = 33. Sehingga untuk membuat italic kita tulis ecode nya $italic = chr(27).chr(33).chr(64).
      Silahkan bereksperimen.

        • Rudi
        • October 13th, 2012

        iya nih mas, bingung saya..heheh… wahh betul juga harus banyak eksperimen nih.. benar2 harus butuh referensi yang lengkap.. makasih banyak mas.. artikelnya bener2 membantu saya…

        • Ofidz Al-akadarnya
        • October 14th, 2012

        Yup, selamat bereksperimen mas. Nanti kalau dapet sesuatu jangan lupa di share. :D

    • Imam
    • October 10th, 2012

    Gmn kl cetaknya di printer local user,
    makasih,
    Imam

    • Imam
    • October 10th, 2012

    mas salam kenal, numpang tanya kl misalnya kita mau cetak ke local printer kita yang tidak terhubung secara local ( set dari printer user itu sendiri) scriptnya gmn ya ? namun posisinya tetep pengen copy() ke printer.

    atas pencerahannya saya ucapkan terimkasih

      • Ofidz Al-akadarnya
      • October 10th, 2012

      Maksudnya mau print ke lokal printer tanpa jaringan ya?
      Tidak bisa kalau langsung ke lokal printer. Karena perintah copy() meng-eksekusi script php yang notabene di server. Trik nya printer tersebut harus di sharing, kemudian di add pada server PHP.
      Kemudian bikin sebuah tabel di DB yang berisi konfigurasi printer. Misal Komputer IP 192.168.0.10 print ke //192.168.0.10/epsonlx. Maka tinggal setting aja parameter-parameternya di DB.
      Mudah2an sudah agak jelas ya.. :D

      • Imam
      • October 10th, 2012

      terimakasih, cuma aplikasi web base ku printernya di berbagai kantor cabang. adakah solusi yang lain

        • Ofidz Al-akadarnya
        • October 11th, 2012

        Jika kondisinya seperti itu kayaknya lebih baik print lewat spooling. Kalaupun mau mencoba eksperimen, bisa membuat aplikasi kecil menggunakan pemrograman desktop untuk menerima parameter yang akan di print. Misal menggunakan VB.Net untuk menerima POST (HttpRequest) yang dikirimkan dari aplikasi web yang berisi data untuk di cetak.

      • bisa pakai google cloud print bos….

        • Ofidz Al-akadarnya
        • October 23rd, 2012

        Ini direct printing bos bukan spooling. Lagian kalau aplikasi anda bekerja di offline apakah masih bisa menggunakan google cloud print?

  7. Ofidz Al-akadarnya :
    Kalau yang sudah tersedia, kalau nggak salah nggak bisa landscape. Yang di inginkan adalah separuh A4 (A5 Landscape) betul? Nah, setahu saya bisa diakali dengan membuat tipe kertas yang baru (sama dg A5 Landscape) pada printserver.

    Ya, kalo ukuran untuk print semacam voucher/kwitansi itu A5 landscape yah? ukuran CM utk A5 Landscape berapa ya mas?boleh tau :)

  8. agan…, saya punya masalah ngeprint pdf file ke printer dot matriks. masalahnya, gimana caranya supaya dari pdf bisa ngeprint dg ukuran A5 / setengah dari A4?tanpa merubah2 file pdf itu sendiri, jadi settingan printernnya seperti apa.Mohon bantuan dan pencerahannya nih.
    terima kasih

      • Ofidz Al-akadarnya
      • October 10th, 2012

      Coba bikin tipe kertas baru di Print Server Properties. Kemudian jadikan default.
      http://www.binarynow.com/pdf-conversion/create-a-custom-paper-size-in-windows-7-for-print2pdf/

      • bukannya A5 di print server properties sudah default ada yak,maksud sy bentuk filenya mirip A4 tapi landscape dan pada saat sekali klik print keluarnya bentuk A5 (A4 atas bawah menjadi 2bagian) lewat printer dotmatrik LQ-300 II.

        • Ofidz Al-akadarnya
        • October 10th, 2012

        Kalau yang sudah tersedia, kalau nggak salah nggak bisa landscape. Yang di inginkan adalah separuh A4 (A5 Landscape) betul? Nah, setahu saya bisa diakali dengan membuat tipe kertas yang baru (sama dg A5 Landscape) pada printserver.

      • oiya , mas,, sy ngeprint pake continuous form ukuran A4,tapi pengin dibagi dua separoh2 (A5) atas bawah, ukuran CM nya brp yah?sy udh coba 1400×2100,dll.. tp sama hasilnya.:(

        • Ofidz Al-akadarnya
        • October 10th, 2012

        Kalau tidak salah sekitar 21.00×14.50 mas.
        Dibikin aja seperti itu, supaya nanti tidak perlu di landscape.

    • suim
    • October 9th, 2012

    kok Warning: copy(//192.168.2.45/EPSON LX-300+II ESC/P) [function.copy]: failed to open stream: No such file or directory in C:\AppServ\www\tes_print.php on line 25

      • Ofidz Al-akadarnya
      • October 9th, 2012

      Baris ke 25 isinya gimana mas?
      harusnya seperti ini:
      copy($file, “//192.168.2.45/EPSON LX-300+II ESC/P”)

  9. mau tanya mas, settingan saya seperti ini copy($file, “//192.168.7.99/lx-300″); tidak bisa mas padahal saya cek sudah instal driver dan sudah bisa test print

    tapi pas saya coba pasang printer saaya di server saya dengan souce copy($file, “//localhost/lx-300″); itu bisa
    mohon pencerahannya mas, Tks

      • Ofidz Al-akadarnya
      • October 4th, 2012

      Untuk memastikan lagi coba seperti ini (dari server).
      Buatlah 1 buah file txt menggunakan notepad. Isilah file tersebut dengan tulisan, misal TEST PRINT
      Simpan file tersebut dengan nama print.txt di drive C:\ (C:\print.txt).
      Kemudian buka Command Prompt, ketik :

      copy C:\print.txt \\192.168.7.99\lx-300

      Harusnya langsung bisa print.
      Jika sudah bisa print, kita menuju langkah selanjutnya.

      • Access is denied.
        0 file(s) copied.

        mas kenapa ya??

        • Ofidz Al-akadarnya
        • October 17th, 2012

        Kemungkinan user yang dipakai tidak mempunya akses ke direktori temporary.

      • ada solusi mas?

        • Ofidz Al-akadarnya
        • October 18th, 2012

        Coba cek file temporary berada di direktori mana, kemudian buka menggunakan Windows Explorer. Ini hanya untuk memastikan saja bahwa user yg anda pakai memiliki hak akses ke direktori temporary.

    • Rudi
    • September 30th, 2012

    mau tnya mas, apa bisa pengaturan cetak seperti garis-garis dan lainnya di atur via css saja tanpa menggunakan esc code??

      • Ofidz Al-akadarnya
      • September 30th, 2012

      Kalau direct printing tidak bisa mas. Karena printer tersebut hanya bisa membaca karakter alphanumeric, beberapa simbol dan esc code yang sudah disediakan oleh printer.
      Jika ingin membuatnya lewat CSS maka harus print lewat Spooling biasa.

        • Rudi
        • September 30th, 2012

        oh begitu mas… wahh ditunggu deh postingan esc codenya..hehe

        • Ofidz Al-akadarnya
        • September 30th, 2012

        Siiip..

    • m
    • September 28th, 2012

    sesudah share printer begitu double click di \\localhost pada printer yg di share tampil error “0×00000709″, gimana tuh??

      • Ofidz Al-akadarnya
      • September 28th, 2012

      Coba printer tersebut digunakan untuk test print.
      Ini kemungkinan karena service Printer Spooling belum start

        • m
        • September 30th, 2012

        kalo gitu sy coba lagi gan..
        oh ya mau nanya lagi, kok di windows xp sy ketik “\\localhost” di windows run katanya no network gan??
        padahal kan localhost

        • Ofidz Al-akadarnya
        • September 30th, 2012

        Di XP harusnya sama, muncul list folder dan printer yang disharing.

        • m
        • September 30th, 2012

        sudah sy cek gan ternyata printer spooling sy sudah dalam posisi automatic start…
        di windows 7 udah tampil logo printer, sy namakan epson tapi di double click yah gitu gan eror.. “0×00000709″ double check the printer name and make sure connect to network

        • Ofidz Al-akadarnya
        • September 30th, 2012

        Oke. Sekarang coba cek, service server dan workstation. Apakah sudah start juga?

        • m
        • September 30th, 2012

        cara ngecek service server dan workstation di win 7 gimana gan??
        maklum sy masih newbie…

        • Ofidz Al-akadarnya
        • October 3rd, 2012

        Buka run. Ketik services.msc. Cek apakah service2 tadi sudah started.

        • m
        • October 6th, 2012

        makasih gan… udah sukses nih file temporary yang mau dicetak udah muncul di antrian printing…
        untuk referensi mengenai esc code buat printer epson bisa dapat dimana gan??

        • Ofidz Al-akadarnya
        • October 6th, 2012

        Manteb deh kalau sudah berhasil.
        Berhubung banyaknya permintaan, ESC Code nya barusan ane upload, silahkan disedot, masih fresh from the oven :D Maaf menggunakan bahasa Inggris. Jangan lupa gunakan font “terminal” pada notepad.
        http://www.4shared.com/office/nW0bYqaR/escode.html

    • m
    • September 28th, 2012

    gan kok sy test di localhost
    “//localhost/Epson” gak bisa ya??
    herannya bgtu sy ketik “\\localhost” di windows run, kok gak bisa terbuka ya? padahal printernya udah ready

    • Avo
    • July 25th, 2012

    klo datanya dari my sql gimana ?

      • Ofidz Al-akadarnya
      • July 25th, 2012

      Ambil datanya dulu menggunakan query (mysql_query, dst), kemudian masukkan ke variabel $Data.

        • Avo
        • July 27th, 2012

        udah bisa.. kalo mau cetakannya rata kanan salah satu barisnya nambah script apa ya ?

        • Ofidz Al-akadarnya
        • July 27th, 2012

        Sepertinya harus bikin function sendiri yang kurang lebih menghitung jumlah maksimal karakter text pada setiap baris, kemudian menghitung jumlah karakter yang akan dicetak.
        Jika sudah ketemu, kita bisa menentukan titik awal text tersebut dicetak. Sehingga sebelum text tersebut, kita isi karakter kosong (spasi).
        Kira2 seperti itu :D

    • koplak
    • July 21st, 2012

    Mo nanya mas..
    Saya sudah nyoba di windows dan sudah berhasil..
    Tapi ketika di mac kok gak mau ngeprint ya?

      • Ofidz Al-akadarnya
      • July 21st, 2012

      Mac nya sebagai server php atau client gan?

  10. Boss, mantab nih nyoba langsung bisa, tapi pengen ada pertanyaan nih, klo kita pengen nentuin posisinya textnya gmana ya..? istilahnya setting x,y posisi nya.

      • Ofidz Al-akadarnya
      • July 13th, 2012

      Sebelumnya salam kenal dan selamat anda sudah berhasil mencobanya. Karena banyak dari teman2 yang agak kesulitan untuk mencobanya.
      Untuk menentukan posisi text kita sebaiknya menggunakan function sendiri mas, function tersebut berisi ESC Code untuk manipulasi text seperti style dll. Nah untuk posisi text juga mainkan saja disitu, paling dengan bermain menggunakan karakter spasi dan menghitung jumlah text.
      Terus terang saya belum begitu dalam mengoprek Direct Printing menggunakan Dot Matrix. Tapi saya yakin kita bisa membuat function untuk menentukan posisi text. ;)

    • decenikx
    • July 12th, 2012

    matep bro tipsnya …
    salam dari purwokerto hahahaha

      • Ofidz Al-akadarnya
      • July 12th, 2012

      Sama-sama mas bro.
      Salam juga dari Pekalongan-Cilacap-Jakarta-Lampung :D

  11. “//localhost/xprinter” saya sudah coba ganti dengan “//ip komputer saya/Epson-Dot-Matrix” tetapi kok tetap belum bisa ya? Bisa bantu saya? Ini saya uji coba pada komputer yang sama tanpa LAN. “//192.168.1.100/Epson-Dot-Matix”.

      • Ofidz Al-akadarnya
      • July 7th, 2012

      Pastikan nama share nya sudah bener dan driver printer sudah terinstall di komputer server.
      Lakukan langkah ini untuk cek:
      1. Pada komputer server apache/php buka run, ketik \\ip_komputer_printer.
      2. Duoble klik pada icon nama printer yg dimaksud. (nama ini yg nantinya digunakan untuk koneksi di php).
      3. Jika driver printer blm terinstal maka windows akan otomatis melakukan instalasi.
      4. Jika driver sudah terinstal maka akan muncul window status print.
      5. Lakukan test print ke printer tersebut (anda pasti tahu caranya).
      6. Jika sudah berhasil melakukan test print dari komputer server, maka printer sudah siap untuk digunakan.

      Selamat mencoba.

  12. Kalau memakai kertas continous gimana??? dan bagaimana mengatur ukuran kertasnya ???

      • Ofidz Al-akadarnya
      • May 3rd, 2012

      Manfaatkan escape code gan.
      Maaf belum sempat posting esc code.
      Atau bikin function sendiri aja.

  13. Gan klo boleh tau, ntuh hasil print out-nya gmn ya?

      • Ofidz Al-akadarnya
      • April 21st, 2012

      Hasilnya draft. Dan pasti cepet. Dicoba aja gan..

      • Sekali lagi gan

        Apa mesti pakek lx 300, cz ane g punya.?

        • Ofidz Al-akadarnya
        • April 23rd, 2012

        Sesuai dengan judul artikel nya boss.
        Menggunakan LX-300.
        Kalau printernya bukan LX-300 atau printer tinta, mending pakai spooling aja. Manfaatkan fasilitas printing punya nya Browser.

      • Gitu ya gan, matur nuwun infonya

        • Ofidz Al-akadarnya
        • April 23rd, 2012

        Yup. Sama-sama…

      • Gan Numpang tanya lagi, Apakah cara di atas bisa digunakan di PHP 5.3.5

        karena saya menggunakan xampp 1.7.4 dan tidak suport dengan fungsi printer_open()

        • Ofidz Al-akadarnya
        • May 22nd, 2012

        Nggak perlu pakai function printer_open()
        Karena trik ini tidak menggunakan module/library dari php_printer.
        Trik disini murni menggunakan perintah copy file ke printer dot matrix.

    • lucky L
    • April 12th, 2012

    Thanks
    sudah saya coba dan memang memuaskan :D

      • Ofidz Al-akadarnya
      • April 13th, 2012

      Senang membaca komentar anda :D

    • Ofidz Al-akadarnya
    • February 7th, 2012

    Udah ane coba di jaringan LAN dan jaringan VPN.
    Hasilnya memuaskan.. :D

    • kok saya gagal ya mas

      Warning: copy(//192.168.42.37/epson) [function.copy]: failed to open stream: Permission denied in D:\htdocs\print.php on line 25

        • Ofidz Al-akadarnya
        • June 27th, 2012

        Pastikan printer yang dituju sudah disharing.
        Dan pastikan juga printer yang dituju bisa di browse oleh komputer server (komputer server yang menjalankan apache & php).

        Coba lagi gan.

        • Fento
        • June 29th, 2012

        Saya juga sudah coba sudah di share printernya.
        Printer sudah bisa diakses lewat Windows explorer (\\IP Komputer printer) dari Komputer Server.
        Tapi tetep gak bisa, Muncul pesan error sama dengan di atas.
        Komputer printer Windows XP, Komputer Server Windows 7.

        • Ofidz Al-akadarnya
        • June 29th, 2012

        Coba lakukan Test Print dari komputer server.
        Kalo test print berhasil, harusnya tidak ada masalah.

      • Saya juga mengalami error ini… ada yg tau solusinya

        catatatan:
        - printer sudah di sharing dari komputer yg nempel printernya.
        - dari komputer-server apache/php, sudah bisa tes ngeprint (saya pake XAMPP).

        • Ofidz Al-akadarnya
        • November 19th, 2013

        Coba lakukan print dari command prompt.
        Caranya buat sebuah file txt misal c:\test.txt kemudian isi dengan tulisan (terserah diisi apa).
        Buka command prompt ketik;
        Copy c:\test.txt \\ipkomputerprinter\namasharingprinter
        Saya tunggu hasilnya.
        Cheers…

      • - printer saya pasang pada pc yang terinstall XAMPP (apache saya tidak jalankan).
        - IP pcnya: 192.168.0.134
        - tes print melalui properties printernya. hasilnya lancar (Windows Printer Test Page)
        - Printer disharing dengan securitynya ‘everyone’ bisa print.
        - nama sharing printer saya rubah jadi ‘iP2700′.
        - saya buat file ‘coba.txt’ dan saya simpan di C:
        - file coba.txt berisi satu baris kalimat.
        - saya buka cmd (command prompt). ketik perintah copy c:\coba.txt \\192.168.0.134\\iP2700
        - keluar tulisan: 1 file(s) copied.
        - hasilnya, printer tidak mencetak isi dari file coba.txt

        ada solusi lain?

        • Ofidz Al-akadarnya
        • November 20th, 2013

        Maaf mas. Ini printer dot matrix atau bukan? Cara diatas hanya bekerja di printer dot matrix. Thanks

      • ooo gitu. Mohon maaf. saya pake printer tinta,
        sekali lagi mohon maaf, sudah merepotkan menanggapi keluhan saya.

        boleh tanya, berarti script ini menggunakan komunikasi LPT/COM atau RAW ya untuk mengirim data ke printer dotmatriknya ?

        • Ofidz Al-akadarnya
        • November 20th, 2013

        Nggak papa mas :)
        Tidak harus pakai port Lpt, pakai Usb juga bisa asalkan printernya di share, walaupun printernya berada di server itu sendiri. Data yg dikirim adalah plain text atau bisa disebut raw, bukan spooling seperti printer tinta atau laser.
        Cheers…

    • Gan… bisa di share cara implementasinya pakai VPN. Saya mau coba di aplikasi saya yang online( web base ).
      Thanks….

        • Ofidz Al-akadarnya
        • May 12th, 2014

        Yang pasti anda harus sudah punya VPN server sendiri. Kemudian klien disambungkan ke vpn tersebut begitu juga servernya. Gunakan IP address yang didapat dari vpn untuk melakukan printing.
        Tapi saya kira cara ini kurang reliable, karena bergantung pada koneksi internet dan server vpn.

  14. gan mantap habis…
    tp gimana ngeset jenis font dan sizenya sebelum cetak?

      • Ofidz Al-akadarnya
      • February 2nd, 2012

      Belum sempat saya bikin artikel nya mas.
      Tapi coba searching di google menggunakan kata kunci “epson lx esc code”.
      Atau langsung ke link berikut

    • DN
    • January 19th, 2012

    kereeen mas gan..
    tpi wktu itu pernah lihat klo php yang report langsung pilih printer gitu mas..

    apa beda sistemnya mas

      • Ofidz Al-akadarnya
      • January 19th, 2012

      Maksud lu gimana Yan?
      Kalo dari kompie klien nggak bisa direct printing Yan, harus di share dulu. SO lakukan cetaknya di server menuju kompie klien. Dikasih parameter setting lah.

  1. January 23rd, 2012
    Trackback from : Homepage
  2. November 30th, 2012

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 640 other followers

%d bloggers like this: