Example #1
0
def word2eps(iname, oname):
    pythoncom.CoInitialize()
    if not check_printer():
        return False

    currentprinter = win32print.GetDefaultPrinter()
    win32print.SetDefaultPrinter(tempprinter)
    try:
        word = client.Dispatch("Word.Application")
        try:
            word.Documents.Open(os.path.abspath(iname))
            time.sleep(1)
            word.ActiveDocument.PrintOut(False, False, 0,
                                         os.path.abspath(oname))
            time.sleep(1)
            word.ActiveDocument.Close()
        except:
            word.Quit()
            win32print.SetDefaultPrinter(currentprinter)
            return False
        word.Quit()
    except:
        win32print.SetDefaultPrinter(currentprinter)
        return False

    win32print.SetDefaultPrinter(currentprinter)
    pythoncom.CoUninitialize()
    return True
Example #2
0
def printPdf(selPrt, pdfFN, paperForm, numCopies):
    #Save the current default Printer
    dfltPrt = win32print.GetDefaultPrinter()
    win32print.SetDefaultPrinter(selPrt)
    #reportStat('====>> DefaultPrinter: {}'.format( win32print.GetDefaultPrinter()), None)

    handle, level, prtProperties = prepPrinter(selPrt)
    setXeroxAttr(prtProperties, paperForm, numCopies)

    #createDC(dfltPrt, prtProperties['pDevMode'])

    ## 'SetPrinter' fails because of 'Access is denied.'
    ## But the attribute 'Duplex' is set correctly
    #try:
    win32print.SetPrinter(handle, level, prtProperties, 0)
    #except:
    #    #reportStat("win32print.SetPrinter: set 'Duplex'", None)
    #    pass

    #cfgPrt(selPrt)

    res = win32api.ShellExecute(0, 'print', pdfFN, None, '.', 0)
    win32print.ClosePrinter(handle)

    handle, level, prtProperties = prepPrinter(selPrt)
    showpDevMode(prtProperties)

    #Restore the current default Printer
    win32print.SetDefaultPrinter(dfltPrt)
Example #3
0
def sacar_impresion(request, ubig, zon, name, opc):
    lista = []
    # lista.append("Ubigeo: "+str(ubigeo)+" Zona: " +str(zonaq) +" Seccion:  "+ str(seccq)+" y  AEU: "+str(aeut) +"<br/>")

    # cond = Esp_Aeus.objects.filter(ubigeo=ubigeo, zona=zonaq, aeu_final=aeut)

    print "Esta la impresora elegida de opcion: " + str(opc)
    tempprinter = " "
    if opc == 1:
        "Entro a la impresora blanca"
        tempprinter = "\\\\172.18.1.35\\192.168.230.16"
    else:
        print "Entro a la impresora negra"
        tempprinter = "\\\\172.18.1.35\\192.168.230.20"

    print tempprinter
    currentprinter = win32print.GetDefaultPrinter()

    # print "Aqui esta el nombre: " + str(ubig) + name
    source_file_name = "\\\srv-fileserver\\CPV2017\\segm_tab\\urbano\\" + str(
        ubig) + "\\" + str(zon) + "\\" + str(name)
    print source_file_name
    # \\\srv - fileserver\\CPV2017\\list_segm_esp\\" + str(ubigeo) + "\\" + zonal + "\\" + str(ubigeo) + zonal + str(secc) + str(aeu_conv) + ".pdf"

    win32print.SetDefaultPrinter(tempprinter)

    win32api.ShellExecute(0, "print", source_file_name, None, ".", 0)
    win32print.SetDefaultPrinter(currentprinter)

    return HttpResponse(lista)
Example #4
0
    def print(self):
        tempprinter = "\\\\server01\\printer01"
        currentprinter = win32print.GetDefaultPrinter()

        win32print.SetDefaultPrinter(tempprinter)
        win32api.ShellExecute(0, "print", filename, None,  ".",  0)
        win32print.SetDefaultPrinter(currentprinter)
        pass
Example #5
0
def imprimirLegajo(ubigeo):
    archivo = "\\\srv-fileserver\\CPV2017\\legajos\\{}\\{}.pdf".format(
        ubigeo, ubigeo)
    tempprinter = "\\\\172.18.1.35\\192.168.230.20"
    currentprinter = win32print.GetDefaultPrinter()
    win32print.SetDefaultPrinter(tempprinter)
    win32api.ShellExecute(0, "print", archivo, None, ".", 0)
    win32print.SetDefaultPrinter(currentprinter)
Example #6
0
 def printPdf(self, printer, data):
     defaultPrinter = win32print.GetDefaultPrinter()
     win32print.SetDefaultPrinter(printer)
     with tempfile.NamedTemporaryFile(suffix=".pdf", delete=False) as f:
         f.write(base64.b64decode(data))
         f.flush()
         filename = os.path.basename(f.name)
         dirname = os.path.dirname(f.name)
         win32api.ShellExecute(0, "print", filename, None, dirname, 0)
     win32print.SetDefaultPrinter(defaultPrinter)
     return 0
Example #7
0
def printWindows(pdf, impresora, delay = 5) :
    ImpresoraPorDefecto = str(win32print.GetDefaultPrinter()) # primero guardamos la impresora por defecto
    win32print.SetDefaultPrinter(impresora) # luego se cambia la impresora por defecto por la impresora específica
    try:
        win32api.ShellExecute(0, 'print', pdf, None, '.', 0)
    except pywintypes.error as e:
        print(e.strerror)
        return 1
    sleep(delay) # se espera un tiempo para que se envíe el archivo a la impresora
    win32print.SetDefaultPrinter(ImpresoraPorDefecto) # vuelve a estar la impresora por defecto original
    return 0
Example #8
0
def printWindows(pdf, impresora):
    ImpresoraPorDefecto = str(win32print.GetDefaultPrinter()
                              )  # primero guardamos la impresora por defecto
    win32print.SetDefaultPrinter(
        impresora
    )  # luego se cambia la impresora por defecto por la impresora específica
    win32api.ShellExecute(0, "print", pdf, None, ".", 0)
    sleep(5)  # se espera un tiempo para que se envíe el archivo a la impresora
    win32print.SetDefaultPrinter(
        ImpresoraPorDefecto
    )  # vuelve a estar la impresora por defecto original
    return 0
Example #9
0
 def wordPrinter(self, targetPrinter):
     try:
         document = client.Dispatch('Kwps.application')
         doc = document.Documents.Open(self.filePath)
         if not targetPrinter == self.defaultPrinter:
             win32print.SetDefaultPrinter(targetPrinter)
         doc.printOut()
     except:
         return 'failed'
     finally:
         doc.Close()
         document.Quit()
         if not targetPrinter == self.defaultPrinter:
             win32print.SetDefaultPrinter(self.defaultPrinter)
     return 'success'
Example #10
0
 def excelPrinter(self, targetPrinter):
     try:
         document = client.Dispatch('Ket.application')
         excel = document.Workbooks.Open(self.filePath)
         if targetPrinter != self.defaultPrinter:
             win32print.SetDefaultPrinter(targetPrinter)
         excel.printOut()
     except:
         return 'failed'
     finally:
         excel.Close()
         document.Quit()
         if not targetPrinter == self.defaultPrinter:
             win32print.SetDefaultPrinter(self.defaultPrinter)
     return 'success'
        def print_report():
            DIR_PATH = str(
                datetime.now().strftime("%B")) + f"_{datetime.now().year}/"
            SAVE_PATH = '//Zerozed-pc/shared/DB/Sales_Report/' + DIR_PATH
            get_date = cal.selection_get()
            EXCEL_FILE = SAVE_PATH + str(get_date) + '.xlsx'

            if os.path.exists(os.path.abspath(EXCEL_FILE)):
                printfile = os.path.abspath(EXCEL_FILE)
                try:
                    try:
                        with open('Config/printerConfig.ini', 'r') as f:
                            check_print = [
                                i.strip("\n") for i in f.readlines()
                            ]
                            win32print.SetDefaultPrinter(str(check_print[3]))
                            f.close()
                    except Exception as e:
                        messagebox.showerror(
                            "Printer Error",
                            f"Cant Print, Please contact service provider +60179593309\n{e}"
                        )

                    os.startfile(rf"{printfile}", 'print')
                    self.calendar_win.destroy()
                    messagebox.showinfo(
                        "Printing",
                        f"Report on {get_date} Printed Successfully")
                except Exception as error:
                    messagebox.showerror("Printer error", error)
                    self.calendar_win.destroy()
            else:
                messagebox.showerror("Not Found", "Your Report NOT FOUND")
                self.calendar_win.focus_force()
def send_txt(file_path, printer_name):
    default_printer = win32print.GetDefaultPrinter()
    print("---current default printer-----", default_printer)
    win32print.SetDefaultPrinter(printer_name)
    handle = win32print.OpenPrinter(
        printer_name, {"DesiredAccess": win32print.PRINTER_ALL_ACCESS})
    print("---changed default printer-----", win32print.GetDefaultPrinter())
    dict = shell.ShellExecuteEx(fMask=256 + 64,
                                lpVerb='print',
                                lpFile=file_path,
                                lpParameters=printer_name)
    wait = dict["hProcess"]
    win32event.WaitForSingleObject(wait, -1)
    win32print.ClosePrinter(handle)
    win32print.SetDefaultPrinter(default_printer)
    print("---current default printer-----", win32print.GetDefaultPrinter())
Example #13
0
    def __init__(self, printer_name):
        self.printer_name = printer_name

        # Set printer
        logger.info("正在设置默认打印机为: %s" % self.printer_name)
        win32print.SetDefaultPrinter(self.printer_name)
        self.printer = win32print.GetDefaultPrinter()
Example #14
0
def StartPrint (printer='MyPSPrinter',
             path=r'D:\test.txt',
             copies = 1,
            orientation = win32con.DMORIENT_PORTRAIT,
            duplex = win32con.DMDUP_HORIZONTAL,
            printQuality = win32con.DMRES_HIGH,
            color = win32con.DMCOLOR_MONOCHROME,
            paperSize = win32con.DMPAPER_LETTER,  # or DMPAPER_A4
             text=None):
    PRINTER_DEFAULTS = {"DesiredAccess": win32print.PRINTER_ALL_ACCESS}
    h_printer = win32print.OpenPrinter(printer, PRINTER_DEFAULTS)
    properties = win32print.GetPrinter(h_printer, 2)
    devmode = properties["pDevMode"]
    devmode.FormName = 'A4'  # or 'Letter'
    devmode.PaperSize = paperSize
    devmode.Orientation = orientation
    devmode.PrintQuality = printQuality
    devmode.Color = color
    devmode.TTOption = win32con.DMTT_SUBDEV
    devmode.Scale = 100
    devmode.Copies = copies
    devmode.Duplex =duplex
    devmode.Fields |= (win32con.DM_FORMNAME |
                       win32con.DM_PAPERSIZE |
                       win32con.DM_ORIENTATION |
                       win32con.DM_PRINTQUALITY |
                       win32con.DM_COLOR |
                       win32con.DM_TTOPTION |
                       win32con.DM_SCALE)
    properties['pDevMode'] =devmode
    win32print.SetPrinter(h_printer, 2, properties, 0)
    win32print.SetDefaultPrinter(printer)

    try:
        listOfFiles = os.listdir(path)
        if (len(listOfFiles)!=0):
            for file in listOfFiles:
                filename = path+'\\'+file
                print(filename)
                print(win32api.ShellExecute(
                   0,
                   "printto",
                   filename,
                   '"%s"' % win32print.GetDefaultPrinter(),
                   ".",
                   0
                ))
                print_jobs = win32print.EnumJobs(h_printer, 0, -1, 2)
                delete = True
                while (delete):
                    old_print_jobs = print_jobs
                    print_jobs = win32print.EnumJobs(h_printer, 0, -1, 2)
                    if((len(print_jobs) == 0) & (len(old_print_jobs)!=0)):
                        print('ok')
                        delete = False
                        filename = path+'\\'+file
                        os.remove(filename)
    except FileNotFoundError:
        print('Directory not created.')
Example #15
0
 def printFile(self):
     """ This function will try to print the document. """
     win32print.SetDefaultPrinter(self.cur_printer)
     myprinter = self.cur_printer
     file_name = self.file_name
     win32api.ShellExecute(0, "print", file_name, '"%s"' % myprinter, ".",
                           0)
     self.closeApp()
def EnviarImpresion(namepdf, impresoraselect):
    impresoras = [
        x[2]
        for x in win32print.EnumPrinters(win32print.PRINTER_ENUM_CONNECTIONS)
    ]
    win32print.SetDefaultPrinter(impresoras[int(impresoraselect)])
    os.startfile(namepdf, "print")
    return JsonResponse({'msg': True})
Example #17
0
def printAttr(selPrt):
    #Save the current defauly Printer
    dfltPrt = win32print.GetDefaultPrinter()
    win32print.SetDefaultPrinter(selPrt)
    print('====>> My Current Printer: ', win32print.GetDefaultPrinter())

    handle, level, prtProperties = prepPrinter(selPrt)
    showPtrAttr(prtProperties)
Example #18
0
def ChangeDefaultPrinter(printer):
  #if type(printer) == types.StringType:
  try:
    win32print.SetDefaultPrinter(printer)
    print ('  Default Printer set to: %s' % printer)
  except:
    print ('  Specified printer %s not available' % printer)
    raise
Example #19
0
 def _print_report_from_template(self):
     if os.path.isfile(self.report_file):
         win32print.SetDefaultPrinter(self.default_printer)
         win32api.ShellExecute(0, "Print", self.report_file, None, ".", 0)
     else:
         raise Exception(
             "PUMA_ReportLibrary.print_report_from_template: The report file is not exist: \n %s"
             % (self.report_file))
Example #20
0
    def print(self):
        printer_name = self.printers.get()

        if printer_name == self.pdf_printer_name:
            PrintDialogue.print_to_pdf()
        else:
            if PrintDialogue.print_to_pdf(Constants.temp_pdf_file):
                win32print.SetDefaultPrinter(printer_name)
                os.startfile(Constants.temp_pdf_file, "print")
Example #21
0
 def closeApp(self):
     # Added a 1 second sleep time due to directly setting the default
     # printer back to default will cause the printer not print in the
     # previously selected printer.
     time.sleep(1)
     # Set back the default printer.
     win32print.SetDefaultPrinter(self.default_printer)
     # Close the grahical user interface.
     self.master.destroy()
def impresion_etiqueta_rural(request, ubigeo, pdf, impresora):
    if impresora == 1:
        # IMPRESORA BLANCA
        tempprinter = "\\\\172.18.1.35\\192.168.230.16"
    else:
        # IMPRESORA NEGRA

        tempprinter = "\\\\172.18.1.35\\192.168.230.20"

    currentprinter = win32print.GetDefaultPrinter()

    PathPDF = "\\\\192.168.201.115\\cpv2017\\etiquetas\\rural\\{}\\{}".format(
        ubigeo, pdf)

    win32print.SetDefaultPrinter(tempprinter)

    win32api.ShellExecute(0, "print", PathPDF, None, ".", 0)
    win32print.SetDefaultPrinter(currentprinter)
    return HttpResponse([])
Example #23
0
def print_pedido(texto, comprovante):
    filename = comprovante + ".txt"
    with open(filename, "w", encoding="Utf-8") as f:
        f.write(texto)
    # win32print.SetDefaultPrinter('MP-4200 TH')
    # win32print.SetDefaultPrinter('MP-4000 TH')
    # win32print.SetDefaultPrinter('MP-4000 TH')
    win32print.SetDefaultPrinter('Microsoft Print to PDF')
    win32api.ShellExecute(0, "print", filename,
                          '"%s"' % win32print.GetDefaultPrinter(), ".", 0)
Example #24
0
def printPdf(selPrt, pdfFN, paperForm, numCopies):
    #Save the current default Printer
    dfltPrt = win32print.GetDefaultPrinter()
    win32print.SetDefaultPrinter(selPrt)
    #reportStat('====>> DefaultPrinter: {}'.format( win32print.GetDefaultPrinter()), None)

    handle, level, prtProperties = prepPrinter(selPrt)

    setXeroxAttr(prtProperties, paperForm, numCopies)
    win32print.SetPrinter(handle, level, prtProperties, 0)

    res = win32api.ShellExecute(0, 'print', pdfFN, None, '.', 0)
    win32print.ClosePrinter(handle)

    handle, level, prtProperties = prepPrinter(selPrt)

    #showpDevMode(prtProperties)

    #Restore the current default Printer
    win32print.SetDefaultPrinter(dfltPrt)
Example #25
0
    def imprimirBono(self):
        #TERMINAR ESTO
        config = ConfigParser()

        if config.read('impresora.ini'):
            if 'IMPRESORA' in config.section():
                impresora = config['IMPRESORA']['nombre_impresora']
                printer = win32print.SetDefaultPrinter(impresora)

        else:
            print("No se ha configurado la impresora")
Example #26
0
def sacar_impresion(request, ubigeo, zonaq, seccq, aeut):

    lista = []
    lista.append(
        str(ubigeo) + ": " + str(zonaq) + ",  " + str(seccq) + "," +
        str(aeut) + "<br/>")

    #cond = Esp_Aeus.objects.filter(ubigeo=ubigeo, zona=zonaq, aeu_final=aeut)
    tempprinter = "\\\\172.18.1.35\\192.168.230.16"
    currentprinter = win32print.GetDefaultPrinter()

    secc = str(seccq).zfill(3)
    aeu_conv = str(aeut).zfill(3)
    #surce_file_name = "C:/Users/acarrillo/Desktop/pap.pdf"
    print ubigeo
    print zonaq
    print seccq
    print aeu_conv
    source_file_name = "\\\srv-fileserver\\CPV2017\\list_segm_esp\\" + str(
        ubigeo) + "\\" + str(zonaq) + "\\" + str(ubigeo) + str(zonaq) + str(
            secc) + str(aeu_conv) + ".pdf"
    print source_file_name
    # \\\srv - fileserver\\CPV2017\\list_segm_esp\\" + str(ubigeo) + "\\" + zonal + "\\" + str(ubigeo) + zonal + str(secc) + str(aeu_conv) + ".pdf"

    win32print.SetDefaultPrinter(tempprinter)
    win32api.ShellExecute(0, "print", source_file_name, None, ".", 0)
    win32print.SetDefaultPrinter(currentprinter)

    return HttpResponse(lista)


# # tempprinter = "\\\\server01\\printer01"
# # tempprinter = "\\\\172.18.1.35\\192.168.230.68"
# tempprinter = "\\\\172.18.1.35\\192.168.230.16"
# currentprinter = win32print.GetDefaultPrinter()
# source_file_name = "C:/Users/acarrillo/Desktop/pap.pdf"
# win32print.SetDefaultPrinter(tempprinter)
# win32api.ShellExecute(0, "print", source_file_name, None, ".", 0)
# win32print.SetDefaultPrinter(currentprinter)
def impresion_rural(request, ubigeo, pdf, impresora):
    if impresora == 1:
        # IMPRESORA CARTO

        tempprinter = "\\\\172.18.1.35\\HPM880-CARTO"
        #tempprinter = "\\\\172.18.1.35\\192.168.230.16"
    else:
        # IMPRESORA UDRA

        tempprinter = "\\\\172.18.1.35\\HP9050-UDRA"
        #tempprinter = "\\\\172.18.1.35\\192.168.230.20"

    currentprinter = win32print.GetDefaultPrinter()

    PathPDF = "\\\\192.168.201.115\\cpv2017\\croquis-listado\\rural\\{}\\{}.pdf".format(
        ubigeo, pdf)

    win32print.SetDefaultPrinter(tempprinter)

    win32api.ShellExecute(0, "print", PathPDF, None, ".", 0)
    win32print.SetDefaultPrinter(currentprinter)
    return HttpResponse([])
Example #28
0
def selectPrinter():
    index = 0
    Printers = win32print.EnumPrinters(win32print.PRINTER_ENUM_LOCAL, None, 2)
    print("[Print List]")
    print("Current Printer Name: " + win32print.GetDefaultPrinter())
    print("0. Close")
    for Printer in Printers:
        index += 1
        print(str(index) + ". " + Printer['pPrinterName'])

    number = input("Select Printer Number: ")
    if len(Printers) >= int(number) and int(number) > 0:
        win32print.SetDefaultPrinter(Printers[int(number) - 1]['pPrinterName'])
    print("Setting Printer: " + win32print.GetDefaultPrinter())
    return win32print.GetDefaultPrinter()
Example #29
0
def startPrinting(x):
    force_printer = chosenPrinter()
    if force_printer:
        try:
            if win32print.GetDefaultPrinter() != force_printer:
                win32print.SetDefaultPrinter(force_printer)
        except:
            print('Cannot set your printer "'+force_printer+'" as default. Please see list below and choose one.\n')
            viewAllPrinters()   # exits after showing options
    for file in x:
        # Archive first so that file is not in use when archiving (just in case printer is still spooling)
        archive_file = os.path.join(archive_dir,getLogTime()+"_"+file)
        moveFile(os.path.join(pdf_dir,file),archive_file)
        # Send print using Windows default action
        win32api.ShellExecute(0,"print", archive_file, None,  ".",  0)
        print('Processed '+archive_file)
        dropFromQueue(file)
def sacar_impresion(request, ubig, zon, name, opc):
    lista = []
    if opc == 1:
        "Entro a la impresora blanca"
        tempprinter = "\\\\172.18.1.35\\192.168.230.16"
    else:
        print "Entro a la impresora negra"
        tempprinter = "\\\\172.18.1.35\\192.168.230.20"

    print tempprinter
    currentprinter = win32print.GetDefaultPrinter()

    source_file_name = "\\\srv-fileserver\\CPV2017\\segm_tab\\urbano\\" + str(
        ubig) + "\\" + str(zon) + "\\" + str(name)

    win32api.ShellExecute(0, "print", source_file_name, None, ".", 0)
    win32print.SetDefaultPrinter(currentprinter)

    return HttpResponse(lista)