Skip to content

Instantly share code, notes, and snippets.

@macedd
Created June 24, 2020 22:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save macedd/c4fc6950d8c92465873b91f7dafb6be9 to your computer and use it in GitHub Desktop.
Save macedd/c4fc6950d8c92465873b91f7dafb6be9 to your computer and use it in GitHub Desktop.
Python Epson Printer on Windows
import os, sys
import win32print
import StringIO
printer_name = win32print.GetDefaultPrinter()
hPrinter = win32print.OpenPrinter(printer_name)
def prn_txt(text):
if sys.version_info >= (3,):
raw_data = bytes (text, "utf-8")
else:
raw_data = text
output = StringIO.StringIO()
output.write(b'\x1b\x742') # charset
output.write(raw_data.decode('utf-8').encode('cp850'))
output.write(b'\x1dV\x01') # cut
try:
hJob = win32print.StartDocPrinter (hPrinter, 1, ("test of raw data", None, "TEXT"))
try:
win32print.StartPagePrinter (hPrinter)
win32print.WritePrinter (hPrinter, output)
win32print.EndPagePrinter (hPrinter)
finally:
win32print.EndDocPrinter (hPrinter)
finally:
win32print.ClosePrinter (hPrinter)
txt = "blabla\ntesting\ntest\n"
print prn_txt(txt)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment