{"id":8921,"date":"2016-08-05T20:46:00","date_gmt":"2016-08-06T01:46:00","guid":{"rendered":"httpss:\/\/www.powenko.com\/wordpress\/?p=8921"},"modified":"2016-08-05T20:46:00","modified_gmt":"2016-08-06T01:46:00","slug":"escpos-printer-python-code","status":"publish","type":"post","link":"https:\/\/www.powenko.com\/wordpress\/?p=8921","title":{"rendered":"ESC\/POS Printer Python code"},"content":{"rendered":"<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\n\r\n #!\/usr\/bin\/python\r\n # -*- coding: utf-8 -*-\r\nimport serial\r\nimport time\r\n#ser = serial.Serial (&quot;\/dev\/ttyAMA0&quot;)    #Open named port \r\n\r\ndef chineseOn(self):\r\n     self.writeBytes(27, 57, 1) #ESC 9 1\r\n\r\ndef chineseOff(self):\r\n     self.writeBytes(27, 116, 0) #ESC t 0\r\n\r\n\r\n\r\ntry:\r\n  ser = serial.Serial() #&quot;\/dev\/cu.usbserial&quot;,19200, timeout=0.5)    #Open named port \r\n  ser.port = &quot;\/dev\/cu.usbserial&quot;\r\n  #ser.port = &quot;\/dev\/ttyS2&quot;\r\n  ser.baudrate = 19200\r\n  ser.bytesize = serial.EIGHTBITS #number of bits per bytes\r\n  ser.parity = serial.PARITY_NONE #set parity check: no parity\r\n  ser.stopbits = serial.STOPBITS_ONE #number of stop bits\r\n  #ser.timeout = None          #block read\r\n  ser.timeout = 1            #non-block read\r\n  try: \r\n    ser.open()\r\n  except Exception, e:\r\n    print &quot;error open serial port: &quot; + str(e)\r\n    ser.close()     \r\n    exit()\r\n  #dev\/cu.usbserial 115200\r\n  #ser.baudrate = 19200                     #Set baud rate to 9600\r\n  #ser.write('5')\r\n  ##### initPrinter --Start\r\n\r\n  #ser.write(serial.to_bytes(&#x5B;27,64]))\r\n\r\n  #ser.write(serial.to_bytes(&#x5B;27,55,7]))\r\n  #ser.write(serial.to_bytes(&#x5B;7]))\r\n  #ser.write(serial.to_bytes(&#x5B;80,2]))\r\n  #ser.write(serial.to_bytes(&#x5B;800,20]))\r\n  #ser.write(serial.to_bytes(&#x5B;18,35]))\r\n  #ser.write(serial.to_bytes(&#x5B;15*2*2*2*2]))\r\n  ##### initPrinter --End\r\n  #ser.write(serial.to_bytes(&#x5B;10]));\r\n  #ser.write(serial.to_bytes(&#x5B;10]));\r\n  #ser.write(&quot;www.powenko.comA&quot;);\r\n  #ser.write(serial.to_bytes(&#x5B;10]));\r\n  #ser.write(&quot;www.powenko.comB&quot;);\r\n  #ser.write(serial.to_bytes(&#x5B;10]));\r\n  #ser.write(serial.to_bytes(&#x5B;27,45,49]));  # underline -       Select underlining , ESC-1 (27,45,49) --ok\r\n  #ser.write(&quot;www.powenko.comC&quot;);\r\n  #ser.write(serial.to_bytes(&#x5B;10]));\r\n  #ser.write(serial.to_bytes(&#x5B;27,45,2]));  # underline - two pixels --ok\r\n  #ser.write(&quot;www.powenko.com 4&quot;);\r\n  #ser.write(serial.to_bytes(&#x5B;10]));\r\n  #ser.write(serial.to_bytes(&#x5B;27,45,0]));  # -       Select underlining , ESC-0 (27,45,48) --ok\r\n  #ser.write(&quot;www.powenko.com 5&quot;);\r\n  #ser.write(serial.to_bytes(&#x5B;10]));\r\n  #time.sleep(1)\r\n  #ser.write(serial.to_bytes(&#x5B;27,32,1]));  #  #### Bold text ####   \r\n  #ser.write(&quot;www.powenko.com 6&quot;);\r\n  #ser.write(serial.to_bytes(&#x5B;10]));\r\n  #time.sleep(1)\r\n  #ser.write(serial.to_bytes(&#x5B;27,45,0]));  #  bold text off\r\n  #ser.write(&quot;www.powenko.com 7&quot;);\r\n  #ser.write(serial.to_bytes(&#x5B;10]));\r\n  #time.sleep(1)\r\n  # ser.write(serial.to_bytes(&#x5B;29,33,255]));  # height\/width enlarge\r\n  # ser.write(&quot;abcdef&quot;);\r\n  # ser.write(serial.to_bytes(&#x5B;10]));\r\n  # time.sleep(1)\r\n  # ser.write(serial.to_bytes(&#x5B;29,33,0]));  # back to normal\r\n  # ser.write(serial.to_bytes(&#x5B;29,107,0]));  # back to normal\r\n  # ser.write(&quot;01234567&quot;);\r\n  # time.sleep(1)\r\n  #ser.write(serial.to_bytes(&#x5B;10,10,10]));\r\n  #ser.write(serial.to_bytes(&#x5B;27,100,5]));  #cut paper\r\n  # ser.write(serial.to_bytes(&#x5B;29,86,0]));  #cut paper\r\n  # ser.write(serial.to_bytes(&#x5B;10]));\r\n  # ser.write(serial.to_bytes(&#x5B;27,100,5]));  #cut paper\r\n  # ser.write(serial.to_bytes(&#x5B;10]));\r\n  # time.sleep(1)\r\n  ##########\r\n  #ser.write(serial.to_bytes(&#x5B;27])+&quot;m&quot;);  # cut paper     --ok\r\n  #ser.write(serial.to_bytes(&#x5B;27])+&quot;q&quot;);  # release paper    --ok\r\n  #ser.write(&quot;aaaa&quot;);\r\n  #ser.write(serial.to_bytes(&#x5B;27,33,16]));  # double size  --ok\r\n  #ser.write(&quot;bbbb&quot;);\r\n  ser.write(serial.to_bytes(&#x5B;27,116,0]));  # chinese off \r\n  ser.write(serial.to_bytes(&#x5B;27,57,0]));  # chinese \r\n  ser.write(u&quot;\u597d&quot;.encode('utf-8'));\r\n  ser.write(serial.to_bytes(&#x5B;27,57,1]));  # chinese \r\n  ser.write(u&quot;\u597d&quot;.encode('utf-8'));\r\n  ser.write(serial.to_bytes(&#x5B;27,57,2]));  # chinese \r\n  ser.write(u&quot;\u597d&quot;.encode('utf-8'));\r\n  ser.write(serial.to_bytes(&#x5B;27,57,0]));  # chinese \r\n  ser.write(ur&quot;\u597d&quot;.encode('utf-8'));\r\n  ser.write(serial.to_bytes(&#x5B;27,57,1]));  # chinese \r\n  ser.write(ur&quot;\u597d&quot;.encode('utf-8'));\r\n  ser.write(serial.to_bytes(&#x5B;27,57,2]));  # chinese \r\n  ser.write(ur&quot;\u597d&quot;.encode('utf-8'));\r\n  ser.write(serial.to_bytes(&#x5B;27,57,0]));  # chinese \r\n  ser.write(u&quot;\u597d&quot;.encode('gbk'));\r\n  ser.write(serial.to_bytes(&#x5B;27,57,1]));  # chinese \r\n  ser.write(u&quot;\u597d&quot;.encode('gbk'));\r\n  ser.write(serial.to_bytes(&#x5B;27,57,2]));  # chinese \r\n  ser.write(u&quot;\u597d&quot;.encode('gbk'));\r\n  ser.write(serial.to_bytes(&#x5B;27,57,0]));  # chinese \r\n  ser.write(serial.to_bytes(&#x5B;0x53,0x62]));  # chinese \r\n  ser.write(serial.to_bytes(&#x5B;0x62,0x53]));  # chinese \r\n  #ser.write(u&quot;\u597d&quot;.encode('big-5'));\r\n  #ser.write(u&quot;\u597d&quot;.decode('utf-8'));\r\n  #ser.write(ur&quot;\u597d\u4e16\u754c&quot;);\r\n  ser.write(serial.to_bytes(&#x5B;10]));\r\n  #ser.write(serial.to_bytes(&#x5B;10]));\r\n  #time.sleep(1)\r\n  #a = u&quot;\u4f60\u597d\u4e16\u754c&quot; # &quot;Hello World&quot;\r\n  #ser.write(a)\r\n  #ser.println(a)\r\n  #time.sleep(1)\r\n  #ser.close()     \r\nexcept serial.serialutil.SerialException:\r\n  print 'cannot open Serial Port'   \r\n\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>#!\/usr\/bin\/python # -*- coding: utf-8 -*- import serial [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[328],"tags":[],"class_list":["post-8921","post","type-post","status-publish","format-standard","hentry","category-pos"],"_links":{"self":[{"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/8921"}],"collection":[{"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8921"}],"version-history":[{"count":1,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/8921\/revisions"}],"predecessor-version":[{"id":8922,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/8921\/revisions\/8922"}],"wp:attachment":[{"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8921"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8921"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8921"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}