Ejemplo n.º 1
0
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')