def thermalPrinter(base64code):
    
    try:
        raw_str     = str(base64code)
        raw_base    = base64.b64decode(raw_str)
        data        = bytes(raw_base)
        nameprinter = win32print.GetDefaultPrinter()
        
        hPrinter = win32print.OpenPrinter(nameprinter)
        win32print.StartDocPrinter(hPrinter, 1, ("Print data otros pagos", None, "RAW"))

        try:
            win32print.StartPagePrinter(hPrinter)
            win32print.WritePrinter(hPrinter, data)
            win32print.EndPagePrinter(hPrinter)
            win32print.EndDocPrinter(hPrinter)
            win32print.ClosePrinter(hPrinter)

        except Exception as e:

            return jsonify({
                "code":500,
                "message":str(e.message)
            })
    except Exception as e:
        return jsonify({
            "code":500,
            "message":str(e.message)
        })
    return jsonify({
        "code":200,
        "message":"printer!!!"
    })
Ejemplo n.º 2
0
def SendToBP33(fn_bpl, req_confirm = True):

    printers = win32print.EnumPrinters(2)
    for p in printers:
        if p[3] == 'BBP33':
            printer_name = p[2]
            #print('Found printer ' + printer_name)

    if (printer_name):
        cont = 'y'
        if(req_confirm):
            cont = input('Use ' + printer_name + ' to print labels? [y/n]\n')
        if (cont == 'y'):
            f_bpl = open(fn_bpl, "rb")
            hPrinter = win32print.OpenPrinter(printer_name)
            try:
              hJob = win32print.StartDocPrinter (hPrinter, 1, ("Cable labels", None, "RAW"))
              try:
                win32print.StartPagePrinter (hPrinter)
                win32print.WritePrinter (hPrinter, f_bpl.read())
                win32print.EndPagePrinter (hPrinter)
              finally:
                win32print.EndDocPrinter (hPrinter)
            finally:
              win32print.ClosePrinter (hPrinter)
            f_bpl.close()
        else:
Ejemplo n.º 3
0
            def info():
                texto_a_imprimir = self.texto.get("1.0", "end")
                if self.ruta != "":
                    direccion = self.ruta.split("/")[-1]
                    nombre_archivo = tempfile.mktemp("_{}".format(direccion))
                else:
                    nombre_archivo = tempfile.mktemp(".txt")

                fichero = open(nombre_archivo, "w")
                fichero.write(texto_a_imprimir)

                if sys.version_info >= (3, ):
                    raw_data = bytes(nombre_archivo, "utf-8")
                else:
                    raw_data = nombre_archivo

                hPrinter = win32print.OpenPrinter(
                    combo_lista_impr.selection_get())
                try:
                    hJob = win32print.StartDocPrinter(
                        hPrinter, 1, (nombre_archivo, None, "RAW"))
                    try:
                        win32api.ShellExecute(0, "print", nombre_archivo, None,
                                              ".", 0)
                        win32print.StartPagePrinter(hPrinter)
                        win32print.WritePrinter(hPrinter, raw_data)
                        win32print.EndPagePrinter(hPrinter)
                    finally:
                        win32print.EndDocPrinter(hPrinter)
                finally:
                    win32print.ClosePrinter(hPrinter)

                fichero.close()
Ejemplo n.º 4
0
def print_document(filename, printer_name):
    print(printer_name)
    # printer_name = win32print.GetDefaultPrinter()
    if sys.version_info >= (3, ):
        fp = open("./static/UPLOADFOLDER/" + filename, "rb")
        raw_data = bytes("This is a test", "utf-8")
    else:
        fp = open("./static/UPLOADFOLDER/" + filename, "r")
        raw_data = "This is a test"

    data = fp.read()
    print(printer_name)

    hPrinter = win32print.OpenPrinter(printer_name)
    try:
        hJob = win32print.StartDocPrinter(hPrinter, 1, (filename, None, "RAW"))
        try:
            jobInfo = win32print.GetJob(hPrinter, hJob, 1)
            win32print.SetJob(hPrinter, hJob, 1, jobInfo,
                              win32print.JOB_CONTROL_SENT_TO_PRINTER)
            win32print.StartPagePrinter(hPrinter)
            win32print.WritePrinter(hPrinter, data)
            win32print.EndPagePrinter(hPrinter)
        finally:
            win32print.EndDocPrinter(hPrinter)
    finally:
        win32print.ClosePrinter(hPrinter)

    # os.startfile("H:/Projects/College/LanPrint/static/UPLOADFOLDER/"+filename, "print")
    return Response("Printing Document", status=200, mimetype='text/plain')
Ejemplo n.º 5
0
def do(filename):
    filename = filename.read()
    # word wrap the log, so that it completely is on page
    formatted_log = '\r\n'.join(textwrap.wrap(filename, width=75, replace_whitespace=False))
    if platform.system() == 'Windows':  # if we are on windows, print via this section
        import sys
        import win32print  # as this module is only available under windows, import it here to prevent errors
        printer_name = win32print.GetDefaultPrinter()
        #
        # raw_data could equally be raw PCL/PS read from
        #  some print-to-file operation
        #
        if sys.version_info >= (3,):
            raw_data = bytes(formatted_log)
        else:
            raw_data = formatted_log

        h_printer = win32print.OpenPrinter(printer_name)
        try:
            _ = win32print.StartDocPrinter(h_printer, 1, ("Log File Printout", None, "RAW"))
            try:
                win32print.StartPagePrinter(h_printer)
                win32print.WritePrinter(h_printer, raw_data)
                win32print.EndPagePrinter(h_printer)
            finally:
                win32print.EndDocPrinter(h_printer)
        finally:
            win32print.ClosePrinter(h_printer)

    else:  # if we are on a unix-like, print via this section
        import subprocess
        lpr = subprocess.Popen("/usr/bin/lpr", stdin=subprocess.PIPE)
        lpr.stdin.write(formatted_log)
Ejemplo n.º 6
0
def printer(raw_data):
    default_printer = win32print.GetDefaultPrinter()
    h = win32print.OpenPrinter(default_printer)
    win32print.StartDocPrinter(h, 1, ("", "", "RAW"))
    win32print.WritePrinter(h, raw_data)
    win32print.EndDocPrinter(h)
    win32print.ClosePrinter(h)
Ejemplo n.º 7
0
def print_raw_win32print(content, printer_name, job_description):
    """ Start a print job and send raw data to the printer.

    Args:
        content: The raw data to print.
        printer_name: The printer's name.
        job_description: A description of the job.

    Returns:
        None

    References:
        * http://timgolden.me.uk/python/win32_how_do_i/print.html
        * http://timgolden.me.uk/pywin32-docs/win32print.html
            Even Tim Golden recommends just calling `print <filename> /d:<printer>` on the shell.
        * https://docs.microsoft.com/en-us/windows/win32/printdocs/using-the-printing-functions
            (For C++ applications).
        * http://www.icodeguru.com/WebServer/Python-Programming-on-Win32/ch10.htm
    """
    import win32print
    p = win32print.OpenPrinter(printer_name)
    job = win32print.StartDocPrinter(p, 1, (job_description, None, "RAW"))
    win32print.StartPagePrinter(p)
    win32print.WritePrinter(p, content)
    win32print.EndPagePrinter(p)
    win32print.EndDocPrinter(p)
    win32print.ClosePrinter(p)
Ejemplo n.º 8
0
    def printer1(self, img):  #调用打印机,请事先把默认打印机,纸张格式等参数从电脑上调好
        print('start print ' + img)
        printer_name = win32print.GetDefaultPrinter()
        #
        # raw_data could equally be raw PCL/PS read from
        #  some print-to-file operation
        #
        if sys.version_info >= (3, ):
            raw_data = bytes(a, "utf-8")
        else:
            raw_data = "This is a test"

        hPrinter = win32print.OpenPrinter(printer_name)
        try:
            hJob = win32print.StartDocPrinter(hPrinter, 1, (img, None, "RAW"))
            print('here1' + img)
            try:
                win32print.StartPagePrinter(hPrinter)
                win32print.WritePrinter(hPrinter, raw_data)
                win32print.EndPagePrinter(hPrinter)
                print('here2')
            finally:
                win32print.EndDocPrinter(hPrinter)
                print('here3')
        finally:
            win32print.ClosePrinter(hPrinter)
            print('here4')
Ejemplo n.º 9
0
 def close(self):
     if not self.hPrinter:
         return
     win32print.EndPagePrinter(self.hPrinter)
     win32print.EndDocPrinter(self.hPrinter)
     win32print.ClosePrinter(self.hPrinter)
     self.hPrinter = None
Ejemplo n.º 10
0
 def close(self):
     p = self.printer
     win32print.EndPagePrinter(p)
     win32print.EndDocPrinter(p)
     win32print.ClosePrinter(p)
     #: Sync
     self.transport.connected = False
     self.transport.protocol.connection_lost()
Ejemplo n.º 11
0
 def print_document(self, document):
     raw_data = document.cut_if_uncut().encoded
     win_printer = win32print.GetDefaultPrinter()
     printer = win32print.OpenPrinter(win_printer)
     win32print.StartDocPrinter(printer, 1, ('CASHDRAWERPRINT', None, None))
     win32print.WritePrinter(printer, raw_data)
     win32print.EndDocPrinter(printer)
     win32print.ClosePrinter(printer)
def printer(raw_data):
    hPrinter = win32print.OpenPrinter(printer_name)
    hJob = win32print.StartDocPrinter(hPrinter, 1,
                                      ("test of raw data", None, "RAW"))
    win32print.StartPagePrinter(hPrinter)
    win32print.WritePrinter(hPrinter, raw_data)
    win32print.EndPagePrinter(hPrinter)
    win32print.EndDocPrinter(hPrinter)
    win32print.ClosePrinter(hPrinter)
Ejemplo n.º 13
0
    def printCobrar(self):
        printFinal = ''

        qsFinal = self.request.data.get('qsFinal')
        qsTotal = self.request.data.get('qsTotal')
        folio = self.request.data.get('folio')
        mesero = self.request.data.get('mesero')
        mesa = self.request.data.get('mesa')

        qsFinal.pop(0)
        for orden in qsFinal:
            for platillo in orden:
                _platillo = platillo.get('platillo')
                if 'B-' in _platillo:
                    _platillo = 'Bebida {0}'.format(
                        platillo.get('platillo').split('-')[1])
                elif 'Q-' in _platillo:
                    _platillo = 'Quesadilla {0}'.format(
                        platillo.get('platillo').split('-')[1])

                printFinal += '\n{0} {1} \n\t\t\t\t ${2}'.format(
                    platillo.get('cantidad'), _platillo,
                    platillo.get('precio'))

        print_final_caja = """
        \t FOLIO: {folio}
         MIXTAS EL COSTEÑO
         Mesero: {mesero}
         Mesa # {mesa}
        \r ----------------
        Ordenes:
        {printFinal}
        \t\t\t---- \t
            \t\t\t $ {total} \t

        \n\tDesarollado por TEAM-ANYOAN\n\t   [email protected]
        """.format(folio=folio,
                   mesero=mesero,
                   mesa=mesa,
                   printFinal=printFinal,
                   total=qsTotal)

        # Epson Bebidas y Caja
        printer = win32print.OpenPrinter('EPSON TM-T88V 1')
        jid = win32print.StartDocPrinter(printer, 1, ('TEST DOC', None, 'RAW'))
        bytes = win32print.WritePrinter(printer, print_final_caja)
        win32print.EndDocPrinter(printer)
        win32print.ClosePrinter(printer)

        # Cortar
        hDC = win32ui.CreateDC()
        hDC.CreatePrinterDC('EPSON TM-T88V 1')
        hDC.StartDoc("Test doc")
        hDC.StartPage()
        hDC.EndPage()
        hDC.EndDoc()
Ejemplo n.º 14
0
def winPrint(text, name):
    import win32print  #is this how I multiplatform?
    pname = win32print.GetDefaultPrinter()
    printer = win32print.OpenPrinter(pname)
    job = win32print.StartDocPrinter(printer, 1, (name, None, "RAW"))
    win32print.StartPagePrinter(printer)
    win32print.WritePrinter(printer, text)
    win32print.EndPagePrinter(printer)
    win32print.EndDocPrinter(printer)
    win32print.ClosePrinter(printer)
Ejemplo n.º 15
0
 def sendjob(self, fp, title = "Raw Print Server Job"):
     hprinter = win32print.OpenPrinter(self.printer_name)
     hjob = win32print.StartDocPrinter(hprinter, 1, (title, None, "RAW"))
     try:
         blk = fp.read(8192)
         while blk:
             win32print.WritePrinter(hprinter, blk)
             blk = fp.read(8192)
     except:
         import traceback
         traceback.print_exc(file = sys.stdout)
     win32print.EndDocPrinter(hprinter)
     win32print.ClosePrinter(hprinter)
Ejemplo n.º 16
0
 def printRaw(self, printer, data, title):
     hPrinter = win32print.OpenPrinter(printer)
     try:
         win32print.StartDocPrinter(hPrinter, 1, (title, None, "RAW"))
         try:
             win32print.StartPagePrinter(hPrinter)
             win32print.WritePrinter(hPrinter, base64.b64decode(data))
             win32print.EndPagePrinter(hPrinter)
         finally:
             win32print.EndDocPrinter(hPrinter)
     finally:
         win32print.ClosePrinter(hPrinter)
     return 0
Ejemplo n.º 17
0
def printer_job(printer_name, printer_file):
    hPrinter = win32print.OpenPrinter(printer_name)
    try:
      hJob = win32print.StartDocPrinter(hPrinter, 1, ("test of raw data", None, "RAW"))
      try:
        win32print.StartPagePrinter(hPrinter)
        # win32print.WritePrinter (hPrinter, raw_data)
        win32print.WritePrinter(hPrinter, printer_file)
        win32print.EndPagePrinter(hPrinter)
      finally:
        win32print.EndDocPrinter(hPrinter)
    finally:
      win32print.ClosePrinter(hPrinter)
Ejemplo n.º 18
0
 def _output_win(self, commands):
     if self.queue == 'zebra_python_unittest':
         return
     hPrinter = win32print.OpenPrinter(self.queue)
     try:
         hJob = win32print.StartDocPrinter(hPrinter, 1,
                                           ('Label', None, 'RAW'))
         try:
             win32print.StartPagePrinter(hPrinter)
             win32print.WritePrinter(hPrinter, commands)
             win32print.EndPagePrinter(hPrinter)
         finally:
             win32print.EndDocPrinter(hPrinter)
     finally:
         win32print.ClosePrinter(hPrinter)
Ejemplo n.º 19
0
def Printer_Process(raw_data):
    printer_name = win32print.GetDefaultPrinter()
    try:
        raw_data = raw_data.encode('gb2312');
    except:
        raw_data = raw_data;
    hPrinter = win32print.OpenPrinter(printer_name)
    try:
        hJob = win32print.StartDocPrinter(hPrinter, 1, ("Sell Receipt", None, "RAW"))
        try:
            win32print.StartPagePrinter(hPrinter)
            win32print.WritePrinter(hPrinter, raw_data)
            win32print.EndPagePrinter(hPrinter)
        finally:
            win32print.EndDocPrinter(hPrinter)
    finally:
        win32print.ClosePrinter(hPrinter)
Ejemplo n.º 20
0
def printContent(raw_data):
    try:
        printer_name = win32print.GetDefaultPrinter ()
        hPrinter = win32print.OpenPrinter(printer_name)
        try:
            hJob = win32print.StartDocPrinter (hPrinter, 1, ("test of raw data", None, "RAW"))
            try:
                win32print.StartPagePrinter (hPrinter)
                win32print.WritePrinter (hPrinter, raw_data.encode("gbk"))
                win32print.EndPagePrinter (hPrinter)
            finally:
                win32print.EndDocPrinter (hPrinter)
        finally:
            win32print.ClosePrinter (hPrinter)
    except Exception as e: 
        logger.error("printContent error "+e)
    return True
Ejemplo n.º 21
0
def print_receipt(transactionID, printer_name, jsonObject):
    basedir = jsonObject["RCPT_DIR"]
    if (printer_name == ""):
        printer_name = win32print.GetDefaultPrinter()

    if (os.name != "posix"):
        hPrinter = win32print.OpenPrinter(printer_name)
        f2 = open(os.path.join(basedir, transaction_number), "r")
        text_data = f2.read()
        f2.close()
        # Open a doc, open a page, wirte the page and close page and doc
        hJob = win32print.StartDocPrinter(
            hPrinter, 1, ("Startup Day Receipt", None, "TEXT"))
        win32print.StartPagePrinter(hPrinter)
        win32print.WritePrinter(hPrinter, text_data)
        win32print.EndPagePrinter(hPrinter)
        win32print.EndDocPrinter(hPrinter)
        win32print.ClosePrinter(hPrinter)
Ejemplo n.º 22
0
def ouvindoPrint(*args):
    vdic = args[0]

    vservico = (vdic['servico']['titulo']).encode('utf-8')
    vatendimento = vdic['atendimento'].encode('utf-8')
    vsequencia = vdic['sequence'].encode('utf-8')
    vtimestamp = vdic['timestamp'].encode('utf-8')

    print 'iniciando a impressao...'

    print vservico
    print 'Atendimento: ' + vatendimento
    print 'Sequencia: ' + vsequencia
    print 'Chegou as: ' + vtimestamp

    # Impressão
    prt = win32print.OpenPrinter(defprt)
    win32print.StartDocPrinter(prt, 1, (vsequencia, None, None))
    try:
        win32print.WritePrinter(
            prt, '========================================' + "\r\n")
        win32print.WritePrinter(prt,
                                '        Cartorio Moreira de Deus' + "\r\n")
        win32print.WritePrinter(
            prt, '========================================' + "\r\n")
        win32print.WritePrinter(prt, 'Servico: ' + "\r\n")
        win32print.WritePrinter(prt, vservico + "\r\n")
        win32print.WritePrinter(
            prt, '----------------------------------------' + "\r\n")
        win32print.WritePrinter(prt, 'Atendimento: ' + vatendimento + "\r\n")
        win32print.WritePrinter(prt, 'Sequencia: ' + vsequencia + "\r\n")
        win32print.WritePrinter(prt, 'Chegou as: ' + vtimestamp + "\r\n")
        win32print.WritePrinter(
            prt, '----------------------------------------' + "\r\n")
        win32print.WritePrinter(
            prt, 'A sequencia sera chamada 3 vezes, caso' + "\r\n")
        win32print.WritePrinter(prt,
                                'nao compareca ao balcão tera que' + "\r\n")
        win32print.WritePrinter(prt, 'solicitar outra sequencia.' + "\r\n")
        win32print.WritePrinter(
            prt, '========================================' + "\r\n\f")
    finally:
        win32print.EndDocPrinter(prt)
    win32print.ClosePrinter(prt)
Ejemplo n.º 23
0
def test_raw(printer='MyPSPrinter',
             filename=r'G:/test.txt',
             text=None):
    '''send plain text to a file'''
    if text is None:
        text_data = "This is a test. This is only a test."
    else:
        text_data = text
    job_info = ("Raw File Print", filename, 'RAW')
    h_printer = win32print.OpenPrinter(printer)
    try:
        h_job = win32print.StartDocPrinter(h_printer, 1, job_info)
        try:
            win32print.StartPagePrinter(h_printer)
            win32print.WritePrinter(h_printer, text_data.encode())
            win32print.EndPagePrinter(h_printer)
        finally:
            win32print.EndDocPrinter(h_printer)
    finally:
        win32print.ClosePrinter(h_printer)
Ejemplo n.º 24
0
def SpoolPrint(NamePrint, StringBytes):  
    # NamePrint -- Имя принтера
    # StringBytes -- Строка байтов
    # Можно открывать файл как показанно ниже
    # printer_name = win32print.GetDefaultPrinter ()        # Имя принтера по умолчанию в системе 
    # open_file = open('epson_nozzle_check.spl', 'rb')      # Открываем файл 
    # raw_data = open_file.read()                           # Копируем данные в буфер
    # open_file.close()                                     # Закрываем файл

    hPrinter = win32print.OpenPrinter (NamePrint)
    try:
        hJob = win32print.StartDocPrinter (hPrinter, 1, ("Print RAW Data", None, "RAW"))
        try:
            win32print.StartPagePrinter (hPrinter)
            win32print.WritePrinter (hPrinter, StringBytes)
            win32print.EndPagePrinter (hPrinter)
        finally:
            win32print.EndDocPrinter (hPrinter)
    finally:
        win32print.ClosePrinter (hPrinter)
Ejemplo n.º 25
0
def print_windows(details):
    try:
        import win32print
        printer = win32print.OpenPrinter(details['printer_name'])
        try:
            print_job = win32print.StartDocPrinter(
                printer, 1, (details['description'], None, "RAW"))
            try:
                win32print.StartPagePrinter(printer)
                win32print.WritePrinter(printer,
                                        details['print_code'].encode('utf-8'))
                win32print.EndPagePrinter(printer)
                r = requests.get(
                    f'https://{HOST}/gateway/print_end'
                    f'/{details["print_id"]}/{details["print_secret"]}')
            finally:
                win32print.EndDocPrinter(printer)
        finally:
            win32print.ClosePrinter(printer)
    except ImportError:
        pass
Ejemplo n.º 26
0
    def on_bt_print_clicked(self):
        """
        Slot documentation goes here.
        """     
        a = "^XA^FX #^CF0,60^FO20,30^FDMILKPLAN^FS^CF0,30^FO620,55^FDRnD_CODES^FS^FO20,85^GB750,1,3^FS^FX #"
        b = "^CFA,28^FO50,120^FD"+"AITHSH KOPHS:"+self.line_1.text()+"^FS"
        c ="^FO50,160^FD"+"ENTOLH: "+self.line_2.text()+"^FS"
        d = "^FO50,200^FD"+"TOMEAS: "+self.line_3.text()+"^FS"
        e = "^FO50,240^FD"+"DELIVERY DATE:"+self.line_5.text()+"^FS"
        e1 = "^FO50,280^FD"+"NAME:"+self.line_6.text()+"^FS"
        e2 = "^FO50,320^FD"+"DELIVERY PLACE:"+self.line_7.text()+"^FS"
        f = "^CFA,25^FO20,450^FDCOMMENTS:^FS^FX Fourth section (the two boxes on the bottom)."
        g = "^FO20,480^GB750,100,5^FS^CF0,40^FO50,510^FD"+self.data_paratirisis.text()+"^FS^XZ"

        message = a+b+c+d+e+e1+e2+f+g
#        hitzebra = win32print.OpenPrinter("\\\\Polyzoudis-pc\\Ετικέτες")
#        hitzebra = win32print.SetDefaultPrinter()
        hitzebra = win32print.OpenPrinter(self.name)
        filename = "2222.txt"
        s = bytes(message, "utf-16")
        print(type(s))
        print(s)
        print(hitzebra)
        posot=int(self.data_posothta.text())
        print(posot) 
        try:
            hJob = win32print.StartDocPrinter(hitzebra, 1, ('PrintJobName', None, 'RAW'))
            try:
#                win32api.ShellExecute(0, "print", filename, None, ".", 0)
             for i in range(posot):
                win32print.StartPagePrinter(hitzebra)
                win32print.WritePrinter(hitzebra, s)  # Instead of raw text is there a way to print PDF File ?
                win32print.EndPagePrinter(hitzebra)
                 
            finally:
                win32print.EndDocPrinter(hitzebra)
        finally:
#            win32print.ClosePrinter("\\\\Polyzoudis-pc\\Ετικέτες")
             pass
Ejemplo n.º 27
0
 def printTab(self, printer):
     """
     打印标签
     :param printer: 打印机名称
     :return: None
     """
     hPrinter = win32print.OpenPrinter(printer)
     command = self._getCommend()
     try:
         hJob = win32print.StartDocPrinter(hPrinter, 1,
                                           ('Label', None, 'raw'))
         try:
             win32print.StartPagePrinter(hPrinter)
             win32print.WritePrinter(hPrinter, command)
             win32print.EndPagePrinter(hPrinter)
             win32print.StartPagePrinter(hPrinter)
             win32print.WritePrinter(hPrinter, '^EG'.encode('utf-8'))
             win32print.EndPagePrinter(hPrinter)
         finally:
             win32print.EndDocPrinter(hPrinter)
     finally:
         win32print.ClosePrinter(hPrinter)
Ejemplo n.º 28
0
    def send(self, quantity=1):
        """ Replace label tags with values """
        populated_label_zpl = self.replace_tags(self.__content,
                                                self.REPLACE_LIST)

        printed_quantity = 0
        while printed_quantity < quantity:
            if self.interface == 'tcp':
                print('Sending label to : ' + str(self.ip_address) + ':' +
                      str(self.port) + ' ...')
                with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
                    s.connect((self.ip_address, self.port))
                    s.send(populated_label_zpl.encode())
            elif self.interface == 'usb':
                print("Sending label through USB")

                if sys.version_info >= (3, ):
                    raw_data = bytes(populated_label_zpl, "utf-8")
                else:
                    raw_data = populated_label_zpl

                hPrinter = win32print.OpenPrinter(self.name)
                try:
                    hJob = win32print.StartDocPrinter(
                        hPrinter, 1, ("Shard Label", None, "RAW"))
                    try:
                        win32print.StartPagePrinter(hPrinter)
                        win32print.WritePrinter(hPrinter, raw_data)
                        win32print.EndPagePrinter(hPrinter)
                    finally:
                        win32print.EndDocPrinter(hPrinter)
                finally:
                    win32print.ClosePrinter(hPrinter)
            else:
                print("Interface not defined")

            printed_quantity = printed_quantity + 1

        print('Sent')
Ejemplo n.º 29
0
def printlabelonwindows(printer, labelmodelfile, charSep, parameters):
    contenu = ""
    with open(labelmodelfile) as fichierEtiq:
        for line in fichierEtiq:
            contenu += line + "\r\n"

    for paramName, value in parameters:

        if contenu.find(charSep + paramName.lower() + charSep) != -1:
            if (value is not None):
                contenu = contenu.replace(
                    charSep + paramName.lower() + charSep,
                    str(value).replace("é", "\\82").replace("à",
                                                            "\\85").replace(
                                                                "î", "\\8C"))
            else:
                contenu = contenu.replace(
                    charSep + paramName.lower() + charSep, "")
    #print(sys.version_info)

    if sys.version_info >= (3, ):
        raw_data = bytes(contenu, "utf-8")
    else:
        raw_data = contenu

    hPrinter = win32print.OpenPrinter(printer)
    try:
        hJob = win32print.StartDocPrinter(hPrinter, 1, ("print", None, "RAW"))
        try:
            win32print.StartPagePrinter(hPrinter)
            win32print.WritePrinter(hPrinter, raw_data)
            win32print.EndPagePrinter(hPrinter)
        finally:
            win32print.EndDocPrinter(hPrinter)
    finally:
        win32print.ClosePrinter(hPrinter)
Ejemplo n.º 30
0
def printCode():
    c = generateCode()
    printer_name = win32print.GetDefaultPrinter()
    print(printer_name)
    hPrinter = win32print.OpenPrinter(printer_name)
    # print(hPrinter)

    if sys.version_info >= (3,):
        raw_data = bytes(c, "utf-8")
        # print('$$$$$$', c)
    else:
        raw_data = c
        # print('$$$$$$', c)
    try:
        hJob = win32print.StartDocPrinter(hPrinter, 1, (c, None, "RAW"))
        # print('$$$$$$', c)
        try:
            win32print.StartPagePrinter(hPrinter)
            win32print.WritePrinter(hPrinter, raw_data)
            win32print.EndPagePrinter(hPrinter)
        finally:
            win32print.EndDocPrinter(hPrinter)
    finally:
        win32print.ClosePrinter(hPrinter)