Skip to content

Problemas relacionados a criação do software

Natan Ogliari edited this page Apr 20, 2024 · 1 revision
def Imprimi_nova(self):
        lista_impressora = win32print.EnumPrinters(2)# Lista de impressoras no PC
        #for impressora in lista_impressora:
            #print(f'Lista a impressora {impressora}')#indice 0 da impressora
        myImpressora = lista_impressora[0]
          
        ### Adicionado para pagar a bandeja manual
        PRINTER_DEFAULTS = {"DesiredAccess": win32print.PRINTER_ALL_ACCESS}#Para abrir as configurações da impressora no modo adiministrador
        handle = win32print.OpenPrinter(myImpressora[2], PRINTER_DEFAULTS)
        property = win32print.GetPrinter(handle, 2)
        #for atributos in dir(property['pDevMode']): #Lista os atributos
           #print(atributos)
        #print(property['pDevMode'].DefaultSource)
        bandeja_old = property['pDevMode'].DefaultSource
        property['pDevMode'].DefaultSource  = 4 #'4' é a bandeja manual, '3' é a bandeja 1, '7' é a seleção automatica
        #print(property['pDevMode'].DefaultSource)
        #print(f'Bandeja antiga:{bandeja_old}')
        win32print.SetPrinter(handle, 2, property, 0)
        win32print.ClosePrinter(handle) #Fecha a configuração
        ### Fim da bandeja manual
        win32print.SetDefaultPrinter(myImpressora[2]) #Define a impressora padrão

        #seta a pasta e impressão
        caminho = le_pdf.get_dir_saida()
        #print(caminho)
        lista_arq_print = os.listdir(caminho)
        
        for arquivo in lista_arq_print:
            #pass
            win32api.ShellExecute(0, "print", str(arquivo), None, str(caminho), 0)
            #print(f'o caminho é: {caminho} \n Os arquivo excluidos serão: {arquivo}')
            #os.remove(os.path.join(caminho, arquivo))# Remove após a impressão

        ### Adicionado para devolver bandeja
        #PRINTER_DEFAULTS = {"DesiredAccess": win32print.PRINTER_ALL_ACCESS}#Para abrir as configurações da impressora no modo adiministrador
        #handle = win32print.OpenPrinter(myImpressora[2], PRINTER_DEFAULTS)
        #property = win32print.GetPrinter(handle, 2)
        #property['pDevMode'].DefaultSource  = bandeja_old #'4' é a bandeja manual, '3' é a bandeja 1, '7' é a seleção automatica
        #win32print.SetPrinter(handle, 2, property, 0)
        #win32print.ClosePrinter(handle) #Fecha a configuração
        #win32print.SetDefaultPrinter(myImpressora[2]) #Define a impressora padrão


    ### FIM ### def Imprimi_nova(self):
Clone this wiki locally