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
kalau menentukan spasi gmn ya mas?
misalkan kalau pake printer biasa kan Printer.print tab(5);
tapi kalau dot matrix gmn?
mksh…
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…
gmn kalo mo print di access 2003. berlaku gak script diatas buat VBA Access ?
makasih ya…
@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.
Thanks infonya,
ada gak kode untuk menggulung kertas mundur.
Kalau ingin mengatur Baris Gimana Ya…
kalau ngatur jarak baris agar rapat gimana…….
dan huruf agak tinggi …. trims
untuk line spacing coba gunakan, chr(48) untuk 1/8-inch line space, chr(49) untuk 7/72-inch space, chr(50) untuk 1/6-inch line space.
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
[…] Sumber : https://astawan.wordpress.com/2007/11/07/tips-print-dos-modedirect-ke-printer-epson-lx-dengan-visual-… […]
kalo code untuk menggulung kertas ada, enggal?
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.
Trims bgt, codenya sukses
Kalo code ngerubah ukuran font ada pa enggak ya ??
Trims
pagi pak, saya coba ko ga jalan ya…..?kalo port nya usb bisa ga….?mohon pencerahannya. makasih
Mungkin bisa disertakan sourcenya? untuk saat ini port usb saya belum bisa.
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
Kalau lewat jaringan kayaknya sulit sekali, mungkin tidak bisa, karena open lpt itu langsung akses ke port.
mas, tinggal dimana? Apa bisa bantu saya di bandung? Trims
waduh.., jauh baget, saya tinggal di Bali