ESC/POS Printer Python code

ESC/POS Printer Python code


 #!/usr/bin/python
 # -*- coding: utf-8 -*-
import serial
import time
#ser = serial.Serial ("/dev/ttyAMA0")    #Open named port 

def chineseOn(self):
     self.writeBytes(27, 57, 1) #ESC 9 1

def chineseOff(self):
     self.writeBytes(27, 116, 0) #ESC t 0



try:
  ser = serial.Serial() #"/dev/cu.usbserial",19200, timeout=0.5)    #Open named port 
  ser.port = "/dev/cu.usbserial"
  #ser.port = "/dev/ttyS2"
  ser.baudrate = 19200
  ser.bytesize = serial.EIGHTBITS #number of bits per bytes
  ser.parity = serial.PARITY_NONE #set parity check: no parity
  ser.stopbits = serial.STOPBITS_ONE #number of stop bits
  #ser.timeout = None          #block read
  ser.timeout = 1            #non-block read
  try: 
    ser.open()
  except Exception, e:
    print "error open serial port: " + str(e)
    ser.close()     
    exit()
  #dev/cu.usbserial 115200
  #ser.baudrate = 19200                     #Set baud rate to 9600
  #ser.write('5')
  ##### initPrinter --Start

  #ser.write(serial.to_bytes([27,64]))

  #ser.write(serial.to_bytes([27,55,7]))
  #ser.write(serial.to_bytes([7]))
  #ser.write(serial.to_bytes([80,2]))
  #ser.write(serial.to_bytes([800,20]))
  #ser.write(serial.to_bytes([18,35]))
  #ser.write(serial.to_bytes([15*2*2*2*2]))
  ##### initPrinter --End
  #ser.write(serial.to_bytes([10]));
  #ser.write(serial.to_bytes([10]));
  #ser.write("www.powenko.comA");
  #ser.write(serial.to_bytes([10]));
  #ser.write("www.powenko.comB");
  #ser.write(serial.to_bytes([10]));
  #ser.write(serial.to_bytes([27,45,49]));  # underline -       Select underlining , ESC-1 (27,45,49) --ok
  #ser.write("www.powenko.comC");
  #ser.write(serial.to_bytes([10]));
  #ser.write(serial.to_bytes([27,45,2]));  # underline - two pixels --ok
  #ser.write("www.powenko.com 4");
  #ser.write(serial.to_bytes([10]));
  #ser.write(serial.to_bytes([27,45,0]));  # -       Select underlining , ESC-0 (27,45,48) --ok
  #ser.write("www.powenko.com 5");
  #ser.write(serial.to_bytes([10]));
  #time.sleep(1)
  #ser.write(serial.to_bytes([27,32,1]));  #  #### Bold text ####   
  #ser.write("www.powenko.com 6");
  #ser.write(serial.to_bytes([10]));
  #time.sleep(1)
  #ser.write(serial.to_bytes([27,45,0]));  #  bold text off
  #ser.write("www.powenko.com 7");
  #ser.write(serial.to_bytes([10]));
  #time.sleep(1)
  # ser.write(serial.to_bytes([29,33,255]));  # height/width enlarge
  # ser.write("abcdef");
  # ser.write(serial.to_bytes([10]));
  # time.sleep(1)
  # ser.write(serial.to_bytes([29,33,0]));  # back to normal
  # ser.write(serial.to_bytes([29,107,0]));  # back to normal
  # ser.write("01234567");
  # time.sleep(1)
  #ser.write(serial.to_bytes([10,10,10]));
  #ser.write(serial.to_bytes([27,100,5]));  #cut paper
  # ser.write(serial.to_bytes([29,86,0]));  #cut paper
  # ser.write(serial.to_bytes([10]));
  # ser.write(serial.to_bytes([27,100,5]));  #cut paper
  # ser.write(serial.to_bytes([10]));
  # time.sleep(1)
  ##########
  #ser.write(serial.to_bytes([27])+"m");  # cut paper     --ok
  #ser.write(serial.to_bytes([27])+"q");  # release paper    --ok
  #ser.write("aaaa");
  #ser.write(serial.to_bytes([27,33,16]));  # double size  --ok
  #ser.write("bbbb");
  ser.write(serial.to_bytes([27,116,0]));  # chinese off 
  ser.write(serial.to_bytes([27,57,0]));  # chinese 
  ser.write(u"好".encode('utf-8'));
  ser.write(serial.to_bytes([27,57,1]));  # chinese 
  ser.write(u"好".encode('utf-8'));
  ser.write(serial.to_bytes([27,57,2]));  # chinese 
  ser.write(u"好".encode('utf-8'));
  ser.write(serial.to_bytes([27,57,0]));  # chinese 
  ser.write(ur"好".encode('utf-8'));
  ser.write(serial.to_bytes([27,57,1]));  # chinese 
  ser.write(ur"好".encode('utf-8'));
  ser.write(serial.to_bytes([27,57,2]));  # chinese 
  ser.write(ur"好".encode('utf-8'));
  ser.write(serial.to_bytes([27,57,0]));  # chinese 
  ser.write(u"好".encode('gbk'));
  ser.write(serial.to_bytes([27,57,1]));  # chinese 
  ser.write(u"好".encode('gbk'));
  ser.write(serial.to_bytes([27,57,2]));  # chinese 
  ser.write(u"好".encode('gbk'));
  ser.write(serial.to_bytes([27,57,0]));  # chinese 
  ser.write(serial.to_bytes([0x53,0x62]));  # chinese 
  ser.write(serial.to_bytes([0x62,0x53]));  # chinese 
  #ser.write(u"好".encode('big-5'));
  #ser.write(u"好".decode('utf-8'));
  #ser.write(ur"好世界");
  ser.write(serial.to_bytes([10]));
  #ser.write(serial.to_bytes([10]));
  #time.sleep(1)
  #a = u"你好世界" # "Hello World"
  #ser.write(a)
  #ser.println(a)
  #time.sleep(1)
  #ser.close()     
except serial.serialutil.SerialException:
  print 'cannot open Serial Port'