class CodeNowPrinter(object): def __init__(self, ip, port=9100): self.f_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.f_socket.connect((ip, port)) self.printjob = BrotherPrint(self.f_socket) self.printjob.command_mode() self.printjob.initialize() self.printjob.rotated_printing('rotate') self.printjob.page_length(1100) def print_nametag(self, name): self.printjob.select_font('brusselsoutline') self._print_codenow_header() self._skip_lines(5) self._print_name(name) self.printjob.print_page('full') def _skip_lines(self, num_lines): for i in xrange(0, num_lines): self.printjob.carriage_return() def _print_codenow_header(self): ''' Prints the codenow header ''' self.printjob.alignment('center') self.printjob.char_size('117') self.printjob.bold('on') self.printjob.send("Code") self.printjob.bold('off') self.printjob.italic('on') self.printjob.send("Now") self.printjob.italic('off') self.printjob.carriage_return() self.printjob.alignment('left') def _print_name(self, name): self.printjob.alignment('center') self.printjob.char_size('150') self.printjob.send(name) self.printjob.carriage_return() self.printjob.alignment('left')