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.

https://www.dropbox.com/s/g2vpooaubty1ckp/escode.txt?dl=0

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

    • Teguh
    • September 10th, 2019

    Kalo print image bisa ga ya pake cara ini?

    • Pramudya Wisnu Wardana
    • July 8th, 2019

    bang mau tanya bagaimana formating nama barang di kiri, dan harga di kanan (margin right)

    • Teguh
    • April 11th, 2019

    Salam kenal mas,
    Kalo misal buat seperti ini gimana ya

    Total 5.000
    Disc 0
    Grand Total 5.000

    • Ariska
    • February 20th, 2019

    Gan mau tanya saya sdh coba pake comand promt berhasil nyetak ke printer, tp klo pake script kok “Permission denied” terus y?
    ini server webnya di PC saya, printer di user

    • Harun Nazilli
    • February 16th, 2019

    Halo,

    Sampel yang Anda tulis berhasil bekerja. namun, ketika saya mengunggah file php ini ke situs web, itu tidak berfungsi. saya menjalankan program ini dari situs web dan mencetak dari printer lokal?

    • Andy S
    • December 25th, 2018

    Mas.. Saya sudah coba untuk di localhost jalan, tapi ketika webya saya hosting tidak jalan lg direct print nya..mohon pencerahannya

    • Joko Eko Raharjo
    • December 4th, 2018

    Terima kasih banyak mas Ofidz Al-akadarnya, sangat membantu sekali.

      • Joko Eko Raharjo
      • December 5th, 2018

      klo pake php4 ga bisa keluar mas Ofidz, knapa yaq…?

    • Makmur
    • August 15th, 2018

    mas mau nanya, saya udah testing via localhost.. udah jalan dengan baik.. nah saya testing via 2 komputer dimana komputer tempat diinstall print menjadi komputer klien dan ada 1 komputer lain yang menjadi server.

    sharing printer sudah ok, tes print melalui command prompt ke ip yang komputer yang terinstall printer udah jalan.. hanya saja jika saya jalankan melalui script, tampil pesan error

    “copy(//192.168.0.1/tmu-220) [function.copy]: failed to open stream: Permission denied

    suatu hal yang aneh karena sy sudah setting everyone buat printer, dan juga jika copy(\\192.168.0.1\tmu-220) sy ketikkan melalui command prompt sudah berhasil jalan.. kira2 apa masalahnya ya?

    • adhim
    • April 4th, 2018

    mas saya mau tanya saya kan mau buat table biar barisnya itu lurus rapi gimana waktu perulangan jadi kacau

    • Sima
    • February 6th, 2018

    Kalo data di ambil dari databse gimana mas?
    saya punya database mysql..mo print data table berdasra kategory

    • ismael
    • September 23rd, 2017

    salam kenal mas khofid, mau tanya saya coba cetak laporan menggunakan dot matrik dari server (online), servernya dengan ip 103.247.9.217, di komputer client saya sudah sharing printernya nama printernya saa buat “EPSON-L300-Series”, ip dari komputer client saya “192.168.43.32” saya coba seting kodingya seperti di bawah ini
    copy($file, “//192.168.43.32/EPSON-L300-Series”);
    saya coba pangil file php nya tidak bisa tercetak datanya, saya lihat di log filenya ada error seperti ini
    [23-Sep-2017 07:22:00 UTC] PHP Warning: copy(//192.168.43.32/EPSON-L300-Series): failed to open stream: No such file or directory in /home/stiw8846/public_html/test/index.php on line 25
    mohon informasi dan solusinya jika kita ingin mencetak data yang ada di server (online) menggunakan dot matrik

      • Ofidz Al-akadarnya
      • January 23rd, 2018

      Dicoba dulu print biasa, jangan lewat PHP, misal buka file pdf di komputer klien, kemudian print menggunaka printer yang tadi di sharing apakah bisa, hanya untuk memastikan aja sih kalo koneksi ke printer tidak ada masalah. Kemudian coba print lewat shell

      • Akhmad Affandy S
      • December 28th, 2018

      Kita mempunyai permasalahan yang sama mas. sudah muter” di google gak dapet solusi ampe skrg, ada yg bisa bantu?

  1. Mas… mau tanya tentang bagaimana cara setting font size dengan esc pos.
    Mas.. ada tutorial atau bisa kasih contoh utk font arial 12, arial 16, arial 18, dsb…
    Trims yeee mas

      • Ofidz Al-akadarnya
      • January 23rd, 2018

      Tidak terlalu banyak font yang tersedia untuk ngeprint menggunakan escode, pilihannya ada disini silahkan di download: https://www.dropbox.com/s/g2vpooaubty1ckp/escode.txt?dl=0#
      Untuk mmemperbesar font juga ada di file tersebut. Selamat mencoba

        • Hermin Abu Ahmad
        • December 1st, 2020

        mohon bantuannya mas,. contoh gmn ganti font nya dan size font nya,. terima kasih hehehe

  2. mas, itu dropbox nya udah ngga aktif ya? file nya udah ngga ada.. ada alamat lain ngga mas? terimakasih.. infonya sangat bermanfaat..

      • Ofidz Al-akadarnya
      • July 26th, 2017

      Link sudah saya perbaiki, didownload saja ya.

  3. mas kalo list data nya di buat tabel gimna ya?
    seperti pada link ini https://www.dropbox.com/s/w3jwf92xa2rbb7s/print.txt?dl=0

    mohon bantuanya

      • Ofidz Al-akadarnya
      • June 7th, 2017

      Bisa kok mas, dicoba aja. file tersebut coba aja di print langsung dr PHP atau cmd

    • Vinno
    • February 11th, 2017

    Om, ketika PC terkoneksi ke Internet bisa PRINT, ketika PC tidak terkoneksi ke Internet tidak bisa PRINT, adakah solusi?

      • Ofidz Al-akadarnya
      • April 25th, 2017

      Ping ke komputer yang ada printernya bisa? Atau print nya ditaruh di lokal? Kalau dilokal pakai IP lokal saja (127.0.0.1)

      • erol
      • May 31st, 2017

      saya coba di printer lx-310 yg disharing dalam LAN,
      hasilnya muncul : ErrorException in SalesOrderController.php line 221:
      copy(//SALES/EPSON LX-310 ESC/P): failed to open stream: No such file or directory

      kira-kira kenapa ya?
      *) sy pake win 7

        • Ofidz Al-akadarnya
        • June 7th, 2017

        Penamaan sharing nya coba diganti mas, karena itu mengandung slash (/), coba nama sharing diganti epsonlx atau sejenisnya (alphanumeric), hindari penggunaan spasi dan karakter lain

    • Agus Siswanto
    • September 16th, 2016

    Sy menggunakan printer deskjet Canon. Bisa jalan tdk? Thx

      • Ofidz Al-akadarnya
      • September 29th, 2016

      Ini hanya jalan di dotmatrix dan thermal mas bro. Thanks

  4. gan kalo di linux gimana liat code ESC nya…

      • Ofidz Al-akadarnya
      • September 29th, 2016

      Sama aja kok kodenya gan.

  5. Kalau lebih dr 1 halaman gmn mas?

      • Ofidz Al-akadarnya
      • July 27th, 2016

      Harusnya sih pake perintah eject atau sejenisnya ya. Saya belum pernah pake

    • Akmal
    • June 28th, 2016

    Mas, sy coba print d laptop, d laptop sdh terinstall driver printernya (sy menggunakan printer epson yg untuk kasir TM-U220) dan ini errornya :

    Warning: copy(//localhost/EPSON TM-U220 Receipt) [function.copy]: failed to open stream: No such file or directory in D:\xxx\tes_epson.php on line 25

    Terima Kasih

      • Ofidz Al-akadarnya
      • July 4th, 2016

      Printer tidak ditemukan itu mas, coba rename nama printer sehingga tidak ada spasinya, atau pakai tanda quote di PHP pada nama printernya.

  6. gmana mas sony script lengkapnya kalau di linux? saya juga nyoba di linux ini

  7. Bentuk yg sdh jadi yg bs di kopi di localhost biar bs saia pelajari, nt saia beli klo oke. Cukup print ke printer lx, trus cara buat barcode n print itu aza

  8. Mas saia mau beli sample kode php yang langsung bisa print ke printer lx 310 dan klo bs barcode juga, jika ada kirim ke cirebonforum@yahoo.co.id

  9. Assalamu’alaikum mas Ofidz, tutornya bagus sekali. klo untuk direct print ke print thermal ada gk? yg printer buat kasir. Terima kasih sebelumnya.

      • Ofidz Al-akadarnya
      • December 3rd, 2015

      Sama aja mas, saya pake printer thermal Yongli yang murah meriah lancar jaya.

  10. mas kalo misalnya saya print banyak data pakai continous form, lalu 1 data pake 1 lembar nah itukan ada banyak data, gimana kodenya biar pas setiap print data, posisi awal catridge print dot matrix lx 310 saya ke posisi awal / posisi parkir / di awal kertas. kan biasamya sehabis selesai print 1 lembar kemudian print tsb lanjut.
    Makasih banyak mas. oiya mas bisa email ke cirebonforum@yahoo.co.id

      • Ofidz Al-akadarnya
      • October 6th, 2015

      Harus dihitung, dalam 1 lembar terdapat berapa baris. Kalau sudah ketemu, nanti kalau barisnya sudah memenuhi, lakukan feed. Dan seterusnya.

      • Misal 10 lembar trus kode php nya gmn mas biar setiap ganti lembar selalu print diawal kertas. Itu paje escape kode atau gmn mas

        • Ofidz Al-akadarnya
        • October 7th, 2015

        Seperti yg sudah saya uraikan diatas mas. Pada baris terakhir di lembar pertama, untuk lanjut ke halaman berikutnya pake esc code. Kalau di saya :
        $feed = chr(27) . chr(74) . chr(xxx);
        Silahkan coba2 esc code yang ada di link;

        • Adi
        • November 1st, 2015

        Ijin ikut nanya ya mas, chr(xxx) itu diisi chr(10) untuk panjang kertas 10 baris gitu ya? Saya coba kok panjang kertas tetep aja gak berubah waktu setelah saya kasih kode FF. Makasih mas

    • ikutan nimbrung, utk biar ke posisi awal saya pake :
      chr(27).chr(64) ato chr(27).”@” jg bs, ditempat kerjaq direct print ini udh jalan 1thn lebih, setiap print bs 30-60 nota sekaligus.

        • Ofidz Al-akadarnya
        • December 3rd, 2015

        Thanks info nya mas. (y)

    • herman
    • September 8th, 2015

    siang …kalo misalkan langusung mengarahkan ke default printer client tanpa harus menyeting ip. bisa tidak?

      • Ofidz Al-akadarnya
      • September 8th, 2015

      Dengan script diatas tidak bisa. Karena PHP tidak bisa akses hardware di komputer client

        • herman
        • September 8th, 2015

        kalo hasil print nya huruf nya dempet (jarak antar huruf tidak ada) gitu. tu masalahnya d mana ya?

    • Fariz F Hakka
    • September 6th, 2015

    Mas Ofidz,

    Sebelumnya saya menggunakan XAMPP wind 7 untuk direct printer dan tidak ada masalah. Tapi sejak pendah ke ubuntu, tidak bisa lagi. masalahnya ada di sharing printer. mohon saran dan petunjuknya.

    maslahnya ada di :

    copy($file, “//localhost/xprinter”);

    tidak bekerja. sampai saat ini sulit untuk mengetahui bagai mana penulisannya unyuk “//localhost/xprinter”.

    printer sudah saya share dan di coba print dari computer lain.

    Terima Kasih

      • Ofidz Al-akadarnya
      • September 7th, 2015

      Halo Mas Fariz,
      Kalau untuk di Linux saya belum pernah nyoba. Coba pake shell_exec(). Kemudian masukkan command printing di shell_exec() . Misal shell_exec(“cat $file > /dev/lp”); atau untuk command lengkapnya bisa cek di http://www.tldp.org/HOWTO/Printing-Usage-HOWTO-2.html. Atau coba2 cari tentang CUPS, lp, lpr dan semacamnya.

  11. Mas, gimana kode nya klo kita mau bikin dalam bentuk garis2 tabel… seperti faktur2 pada umumnya. thx

      • Ofidz Al-akadarnya
      • August 20th, 2015

      Jika ingin printing draft bisa pakai Extended ASCII: http://www.theasciicode.com.ar/
      Ini contohnya, coba kopas ke notepad.
      ╔════════════╦════════════╗
      ║ INI HEADER ║ INI JUGA ║
      ╚════════════╩════════════╝

      • klo mau print seperti ini gimana mas…

        ___________________________________________
        Kode | Nama Barang | Jumlah Brg | Harga |
        ———————————————————————
        MC | Milk Chocolate | 9 | 500 |
        BC | Butter Cookies | 10 | 1000|

        • Ofidz Al-akadarnya
        • August 24th, 2015
    • Ofidz Al-akadarnya
    • August 18th, 2015

    Helmi Aditya :

    Misal untuk satu baris “We love php indonesia” menjadi lebih besar dan ditebalkan… Ma kasih mas….

    Maaf baru aja ngoprek2 lagi.
    Coba pake kode berikut:
    $bold1 = Chr(27) . Chr(33).(1);
    $bold2 = Chr(27) . Chr(33).(2);
    $bold0 = $condensed;
    $big1 = Chr(27) . Chr(33).chr(32);
    $big0 = $condensed;
    $tall1 = Chr(27) . Chr(33).chr(16);
    $tall0 = $condensed;
    $small1 = Chr(27) . Chr(69);
    $small0 = Chr(27) . Chr(69).chr(0);

    • hery
    • August 17th, 2015

    cara menset agar angkan di lurus d sebelah kanan?
    text align right… contoh:
    1. Sabun 5,000
    2. Tepung 100,000
    dan setrus nya….

      • Ofidz Al-akadarnya
      • August 18th, 2015


      private function setProductName($prod){
      return sprintf("%-21.21s",$prod);
      }
      private function setSubtotal($subtotal){
      return sprintf("%10s",number_format($subtotal,0,',','.'));
      }

      Itu potongan dari class Print aplikasi saya. Tinggal dipakai aja dengan memanggil method tsb.
      Nanti kalau sempat saya buatin class untuk print.

      • ada class print nya mas, seperti apa?

        • Ofidz Al-akadarnya
        • August 24th, 2015

        class nya masih nyampur dengan koding di program saya, belum saya pisah. Kalau sudah saya pisah menjadi class tersendiri, nanti akan saya share.
        Thanks

    • Helmi Aditya
    • July 31st, 2015

    Mas, kalo untuk memperbesar ukuran font dan mencetak tebal, seperti di sistem antrian bank, bagaimana ?

    Terima Kasih

      • Ofidz Al-akadarnya
      • August 3rd, 2015

      Pakai ESC Code, tapi saya lupa kode nya. Nanti saya cari2 dulu

        • Helmi Aditya
        • August 3rd, 2015

        Oke mas, saya sudah coba, ga bisa-bisa….

        • Helmi Aditya
        • August 3rd, 2015

        Misal untuk satu baris “We love php indonesia” menjadi lebih besar dan ditebalkan… Ma kasih mas….

    • pampam
    • June 13th, 2015

    klo datanya dari link langsung gmna ?

      • Ofidz Al-akadarnya
      • June 13th, 2015

      Dari link gimana ya?

    • raven
    • June 8th, 2015

    permisi mas, kalau untuk dot matrix print tabel dengan solid border (kalau bisa dengan border radius) semacam tabel html ada saran sebaiknya gimana?

      • Ofidz Al-akadarnya
      • June 8th, 2015

      Maaf mas, Kalau yang ini saya belum pernah coba.

  12. Makasih sharing nya. Seandainya program php ada di server hosting, bagaimana cara mengeprint ke printer lokal? Soalnya program di tempat saya di taruh di hosting karena multi cabang. Trims.

      • Ofidz Al-akadarnya
      • May 9th, 2015

      Jika menggunakan direct printing seperti yg saya jelaskan, pastinya akan ada banyak kendala kedepannya. Lebih baik menggunakan jzebra saja untuk masalah ini.

        • herman
        • September 8th, 2015

        jzebra gmna cara penerapannya?
        dia menggunakan plugin java ya?

        • Ofidz Al-akadarnya
        • September 8th, 2015

        Untuk jzebra silahkan lihat dokumentasi di web nya. Atau bisa menggunakan QZ, silahkan baca di https://qz.io

  13. terimakasih infonya gan!
    saya masih bingung gimana ngatur margin nya ya?

    bagian ini :
    $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);

    maksudnya gimana ?

      • Ofidz Al-akadarnya
      • April 27th, 2015

      Margin harus dihitung manual berdasarkan kertas yang dipakai. Harus coba-coba terlebih dahulu. Nanti akan didapat berapa jumlah baris dan kolom pada kertas yang dipakai. Setelah itu marginnya tinggal disesuaikan saja dengan kebutuhan.
      Untuk kode diatas adalah untuk membuat efek BOLD dan font Condensed, untuk lebih jelasnya silahkan download ECS Code pada link yang sudah saya sertakan.

    • zie
    • April 21st, 2015

    makasih mas berguna bgt tutor nya. oh iya untuk mengatur spasinya gmn mas..?

      • Ofidz Al-akadarnya
      • April 22nd, 2015

      Spasi antar baris atau antar huruf?
      Kalau antar baris biasanya pakai dikasih baris kosong aja.

  14. mas minta no yg bs di hub donk, saya bingung seting printer dikantor saya, trims,, ini email saya info@hotelelresas.com, kirim no ke email itu mas, trims

  15. I am getting an error[function.copy]: failed to open stream: Permission denied

      • Ofidz Al-akadarnya
      • February 14th, 2015

      Is your apache running on administrator or other user? Please make sure its running on administrator user. And also, please have a try to test print from computer where apache is installed.

  16. Terimakasih banyak atas informasinya gan. Apa teknik ini hanya bisa di printer LX-300? Atau jika saya gunakan printer dot matrix lain juga bisa gan?

      • Ofidz Al-akadarnya
      • February 13th, 2015

      Harusnya bisa untuk printer dot matrix lain. Tapi saya belum mencobanya.

    • kies
    • February 12th, 2015

    Mas… sy juga mengalami masalah yg sama. Mohon pencerahannya.

    Direct printing di komputer development (windows) jalan OK normal. Skripnya pake script ini copy($file, “//localhost/xprinter”); # Lakukan cetak

    Namun nihil hasilnya, no respon; ketika aplikasi ditempatkan di ubuntu server standalone, ip server (192.168.1.2).

    Aplikasi diakses oleh Client (winxp) 192.168.1.100.

    Sehingga setting yg sy buat sepert ini:

    copy($file, “//192.168.1.100/xprinter”); # Lakukan cetak

    Hmm… dimana salahnya ya mas…
    Trims atas sharing ilmunya

      • Ofidz Al-akadarnya
      • February 12th, 2015

      Driver printer harus sudah terinstal jg di ubuntu server. Dan coba lakukan cetak manual lewat ubuntu server.

        • kies
        • February 13th, 2015

        copy($file, “//bla..bla..bla/xprinter”); # Lakukan cetak
        Hmm… berarti bla..bla itu diisi dengan IP server, bukan pc yang menjalankan aplikasi ya mas??

        Trims

        • Ofidz Al-akadarnya
        • February 13th, 2015

        Bla bla bla itu diisi IP komputer yg terhubung dg printer. Akan tetapi, driver printer juga harus sudah terinstal di komputer sever.

    • udh berhasil belum mas cetak yg dilinuxnya? dikantornya pake perintah netcat udh jalan skitar 1than, drivernya set ke 9Pin. klo pake perintah copy() itu cmn jalan di windows aja.

        • Ofidz Al-akadarnya
        • December 3rd, 2015

        Di linux bisa pakai shell_exec(‘cp …..’);

  17. Mas Ofidz,

    Alkhamdulillah… semoga tulisannya jadi amal ibadah yang tak putus….
    berkat tulisannya aku bisa memecahakan satu problem. Mas sebelumnya aku buat POS pakai jzebra. masalahnya setiap kali buat print yang kedua kali, selalu bermasalah. sepertinya jzebra tidak bisa print berulang. Harus direset dahulu printer dan browsernya. Aku pakai XAMPP, Win7 dan LX300II.

    Terima kasih

      • Ofidz Al-akadarnya
      • January 17th, 2015

      Aamiin.. Alhamdulillah..
      Saya turut senang jika tulisan saya bermanfaat.

      • Terima Kasih Mas atas responnya.Mohon share kalau punya pengalaman menggunakan JZEBRA. karena aku punya problem untuk print yang berulang.

        • Ofidz Al-akadarnya
        • January 18th, 2015

        Baik mas. Nanti saya share kalau sudah ada waktu luang mas.

      • nkieeee
      • February 11th, 2015

      alhamdulilah mas… direct printing ane dari php langsung ke printer epson POS jalan. shg hasilnya serupa yg di swalayan. Terima kasih atas ilmunya…

        • Ofidz Al-akadarnya
        • February 11th, 2015

        Sama-sama mas. Saya sangat senang mendengarnya 🙂

  18. Selamat siang gan, Terimakasih atas postinganya sangat membantu saya yang masih belajar. Saya mau tanya, saya menggunakan vps yang menjalankan apache, yang saya bingung bagaimana cara melakukan print ke printer dotmatrik yang posisinya berada di client, sedangkan peroses pencetakan dilakukan PHP di sisi server (VPS), apa komputer client harus memiliki static IP ? atau ada cara lain menurut agan ?

    Sama satu lagi sih gan, untuk melakukan pagebreak pada continues form bisakah? saya menggunakan kertas continues form seukuran (mendekati) A5. ada saran gan bagai mana agar hasil pencetakan sesuai dengan tinggi per kertas.

      • Ofidz Al-akadarnya
      • January 7th, 2015

      Bisa menggunakan VPN mas. Tapi sebenarnya saya tidak merekomendasikan trik ini digunakan pada tahap produksi. Ini hanya sebagai sarana belajar saja mas. Karena akan banyak ditemui kendala dan kurang realible.
      Untuk tahap produksi coba gunakan jZebra https://code.google.com/p/jzebra/

        • abenk
        • January 11th, 2015

        Oke mas trimakasih saranya saya coba pelajari dlu jZebra-nya..

    • yuan
    • December 26th, 2014

    saya berhasil mengcopy td tidak print tidak jalan sya pakai EPSON LX-800

    • Yulius
    • November 3rd, 2014

    mas saya mau tanya donk,kok saya mau buka escape code nya tidak bisa ya?

      • Ofidz Al-akadarnya
      • November 3rd, 2014

      Itu kan file text mas. Bisa dibuka pakai notepad

    • iya mas link esc code nya gak bisa dibuka

        • Ofidz Al-akadarnya
        • November 20th, 2014

        Kampret, account saya di banned sama 4shared. 😀
        Oke, sudah saya upload ulang ke dropbox.

    • Newbie
    • November 1st, 2014

    gan, kalo mau ngeprint gambar/logo gimana gan ?

      • Ofidz Al-akadarnya
      • November 1st, 2014

      Waduh nggak tahu gan. Belum pernah experiment.

    • tukang ledeng
    • September 15th, 2014

    Misal memberi jeda 2 detik kemudian melanjutkan gimana ya ?
    Sebagai contoh, ada 2 nota kemudian antara nota pertama dan kedua ada jeda untuk merobek kertas. Apa ada karakter khusu ?

  19. 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

    • 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.

  20. 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.

  21. 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?

  22. 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.

  23. 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. 😀
      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 😀

    • 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 😀
      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.. :))

  24. 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. 😀

    • 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.. 😀

      • 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?

  25. 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 🙂

  26. 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”)

  27. 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 “0x00000709”, 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 😀 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 😀

    • 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?

  28. 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. 😉

    • Klo saya gunakan chr(13) ma chr(9) utk tab atau \t gan…..

    • 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 😀

  29. “//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.

  30. 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.

  31. 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 😀

      • Ofidz Al-akadarnya
      • April 13th, 2012

      Senang membaca komentar anda 😀

    • Ofidz Al-akadarnya
    • February 7th, 2012

    Udah ane coba di jaringan LAN dan jaringan VPN.
    Hasilnya memuaskan.. 😀

    • 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.

  32. 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
  3. January 23rd, 2016
  4. September 17th, 2021

Leave a reply to nachmadi Cancel reply