Tips Print DOS Mode/Direct ke printer EPSON LX dengan Visual Basic 6

Posted: November 7, 2007 in VB 6

Mencetak data dengan metode DOS Mode pada jaman sekarang ini memang terasa kurang populer dengan semakin ditinggalkannya sistem operasi DOS, akan tetapi bagi para programmer aplikasi metode ini masih cukup dibutuhkan, terutama untuk programmer yang membuat aplikasi sejenis POS (Point of Sales) atau bahasa awamnya Aplikasi Kassa yang menggunakan printer Epson Lx.  Mungkin akan timbul pertanyaan “mengapa aplikasi tidak menggunakan printer POS saja?”,  untuk hasil yang maksimal Memang sebaiknya kita menggunakan printer POS saja (Epson TMU…., Samsung, Start Micronic, dll), akan tetapi terkadang kita dihadapkan pada suatu permasalahan dimana kita harus menggunakan printer sejenis Epson Lx (dot matrix) sebagai pengganti printer POS tersebut.
Kelebihan metode DOS Mode ini adalah mempunyai kecepatan yang tinggi dan setelah selesai mencetak tidak akan menggulung kertas seperti mencetak keprinter menggunakan driver. Tentunya metode cetak ini adalah metode yang akan dibutuhkan oleh aplikasi POS untuk mencetak nota.

Nah berikut beberapa sintak yang dapat digunakan untuk mengatur hasil cetakan printer Epson Lx dengan bahasa Visual Basic 6 :

chr(27) & chr(33) & chr(0) –> mencetak skala 10 cpi 
chr(27) & chr(33) & chr(1) –> mencetak skala 12 cpi, 12 cpi akan lebih kecil dari pada 10 cpi. 
chr(27) & chr(33) & chr(8) –> mencetak tebal
Print #1, chr(27) & chr(33) & chr(0) –> membatalkan cetak tebal
Print #1, chr(27) & chr(33) & chr(16) –> double strike (head printer akan bekerja secara bolak balik)
Print #1, chr(27) & chr(33) & chr(0) –> cancel double strike
Print #1, chr(27) & chr(33) & chr(32) –> font double width, biasanya digunakan untuk mencetak header.
Print #1, chr(27) & chr(33) & chr(64) –> font italic (huruf miring)
Print #1, chr(27) & chr(33) & chr(128) –> font underline
Print #1, chr(27) & chr(97) & chr(0) –> rata kanan (default)
Print #1, chr(27) & chr(97) & chr(1) –> rata tengah
Print #1, chr(27) & chr(97) & chr(2) –> rata kanan
Print #1, chr(27) & chr(33) & chr(4) –> memilih mode draft condenses (menghasilkan huruf yang berukuran kecil

Contoh penerapan dengan visual basic 6
sub cetak
   open “lpt1″ for output as #1
        Print #1, chr(27) & chr(33) & chr(32); ‘ cetak double width
        print #1,”SINAR HARAPAN”
        Print #1, chr(27) & chr(33) & chr(0); cancel cetak double width

        Print #1, chr(27) & chr(33) & chr(4); ‘ draft condensed
        Print #1, “Item 1”
        Print #1, “Item 2”
        Print #1, “Item 3”
        Print #1, chr(27) & chr(33) & chr(0) ‘ cancel draft condensed
   close #1
end sub

Komentar
  1. ade berkata:

    kalau menentukan spasi gmn ya mas?
    misalkan kalau pake printer biasa kan Printer.print tab(5);
    tapi kalau dot matrix gmn?
    mksh…

  2. astawan berkata:

    Hampir sama dengan metode Printer.Print
    Contoh :
    Print #1, “test”
    kalau mau ditambahkan spasi , misal 10 spasi, maka menjadi :
    Print #1, Tab(10); “test”
    atau bisa juga dengan menggunakan fungsi Space
    Print #1, Space(20); “test”
    Sorry baru bisa balas, Semoga membantu…

  3. djaenal berkata:

    gmn kalo mo print di access 2003. berlaku gak script diatas buat VBA Access ?
    makasih ya…

  4. astawan berkata:

    @djaenal
    Kayaknya bisa, saya dah coba , tapi hasilnya diprinter saya belum bisa lihat, printer lx-300 saya lagi dipinjam customer, saya hanya baru coba debug sampai Close #1.

  5. Rangkuti berkata:

    Thanks infonya,
    ada gak kode untuk menggulung kertas mundur.

  6. m.Ridho berkata:

    Kalau ingin mengatur Baris Gimana Ya…

  7. jumari berkata:

    kalau ngatur jarak baris agar rapat gimana…….
    dan huruf agak tinggi …. trims

  8. sumeleh berkata:

    saya punya masalah dalam mencetak dg mode dos dalam OS Windows Vista.
    Bagaimana ya, apa ada setting khusus di Bios atau di Properties Printer ?

    Help me ya.
    Trims
    sumeleh

  9. pet berkata:

    kalo code untuk menggulung kertas ada, enggal?

    • astawan berkata:

      kalo code untuk menggulung kertas ada, enggal?
      Coba gunakan chr(12), itu biasanya untuk form feed, atau chr(10), ini untuk line feed.
      Mohon maaf saya nggak bisa test langsung di printer, karena printer saya lagi dipinjam customer.

  10. petruk berkata:

    Trims bgt, codenya sukses
    Kalo code ngerubah ukuran font ada pa enggak ya ??
    Trims

  11. vd berkata:

    pagi pak, saya coba ko ga jalan ya…..?kalo port nya usb bisa ga….?mohon pencerahannya. makasih

  12. ahmad berkata:

    mas kalo printernya lewat jaringan
    apa coding buat opennya apa ya
    saya dah coba coding open “lpt1″ for output as #1
    g bisa juga , terima kasih

  13. ed berkata:

    mas, tinggal dimana? Apa bisa bantu saya di bandung? Trims

Tinggalkan Balasan ke ed Batalkan balasan