Blog

Postado em em 6 de setembro de 2021

Imprimir Arquivos com Python Automaticamente

Você já se imaginou criando um código para imprimir arquivos com Python? Isso é possível e nessa aula eu vou te ensinar o passo a passo!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Resumo

Nessa aula eu vou te ensinar como você pode fazer uma automação de impressão com Python, ou seja, poderá fazer a impressão de arquivos com Python de forma automática.

Isso vai ser muito útil, pois você vai poder automatizar mais essa etapa do seu trabalho, onde em alguns casos seria uma última etapa que geralmente é feita de forma manual!

Imprimir Arquivos Automaticamente com Python

Você já pensou que pode adicionar mais essa rotina dentro do seu código em Python? Para finalizar por completo toda uma atividade?

Pois é, hoje eu vou te mostrar como você pode imprimir com Python, ou seja, pode fazer todo seu projeto, análise de dados, e por fim ainda imprimir o seu relatório na impressora!

Já imaginou como seria incrível automatizar 100% do seu trabalho? Então bora pra aula que o conteúdo está irado!

Como Automatizar Impressão com Python

Você deve estar pensando que aprender como imprimir arquivos com Python ou como usar impressora com Python é uma tarefa difícil não é mesmo?

Eu tenho algo pra te contar, é algo bem simples e você já vai poder fazer o teste aí mesmo no seu computador e impressora! Então vamos!

import win32print
import win32api
import os

# escolher qual impressora a gente vai querer usar
lista_impressoras = win32print.EnumPrinters(2)
impressora = lista_impressoras[4]

win32print.SetDefaultPrinter(impressora[2])

# mandar imprimir todos os arquivos de uma pasta
caminho = r"C:\Users\Python\Desktop\Imprimir Automaticamente com Python\Imprimir"
lista_arquivos = os.listdir(caminho)

# https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutea
for arquivo in lista_arquivos:
    win32api.ShellExecute(0, "print", arquivo, None, caminho, 0)

O código é bem curto, mas vou te explicar o que cada parte dele vai fazer.

Inicialmente nós vamos importar 3 bibliotecas que serão necessárias para esse procedimento que são: biblioteca win32print, biblioteca win32api e biblioteca os.

Lembrando que é necessário fazer a instalação das bibliotecas utilizando o comando pip install como fazemos com as bibliotecas normalmente com o pip install pywin32.

Logo abaixo nós temos um código para que você possa escolher a impressora que será utilizada. O código win32print.enumprinters(2) ele serve para te mostrar as informações de todas as impressoras que estão conectadas no seu computador.

Com isso você vai conseguir verificar qual é a impressora que você vai precisar utilizar para colocar na linha abaixo.

import win32print
import win32api

# escolher qual impressora a gente vai querer usar
lista_impressoras = win32print.EnumPrinters(2)
for impressora in lista_impressoras:
	print(impressora)

# mandar imprimir todos os arquivos de uma pasta
Lista das impressoras conectadas ao computador
Lista das impressoras conectadas ao computador

OBS: Aqui utilizamos um For (estrutura de repetição no Python) para facilitar a visualização dos itens que temos.

Como nessa lista de impressoras a impressora desse exemplo que vamos utilizar é o quinto elemento, ou seja, índice de número 4 no Python, pois o índice começa no 0.

Na linha abaixo nós vamos informar qual será a impressora padrão, então precisamos do nome da impressora dentro da lista que já temos, e nesse caso é a posição 3, mas de índice 2.

Então pela imagem você vai notar que a informação da impressora que queremos é a quinta informação (índice 4). E dentro das informações dessa impressora a informação que queremos é a terceira (índice 2).

Com isso já configuramos qual a impressora que vai imprimir os nossos arquivos!

Para o segundo bloco de código nós vamos fazer com que o Python imprima os arquivos que estão dentro de uma pasta específica.

Isso quer dizer que ele vai imprimir todos os arquivos que estiverem dentro dessa pasta, sejam 1, 2 ou 100!

# mandar imprimir todos os arquivos de uma pasta
lista_arquivos = os.listdir(r"C:\Users\Python\Desktop\Imprimir Automaticamente com Python\Imprimir")
print(lista_arquivos)
Arquivos que temos dentro da pasta para imprimir
Arquivos que temos dentro da pasta para imprimir

Nesse caso dentro da nossa pasta Imprimir nós temos dois arquivos em PDF (que já são um bônus ai pra você, duas cartilhas sobre Pandas e Numpy de graça!).

Para finalizar nós temos a funçao do SheelExecute (tem o link no arquivo para que vocês possam verificar as opções que essa função possui).

O que ele vai fazer é basicamente utilizar a função imprimir quando você clica com o botão direito em cima do arquivo.

Só que essa função vai exigir esses 6 parâmetros para que ela funcione corretamente.

Onde temos 0 e none basicamente sempre vai ser assim, ou seja, serão valores padrões. E onde temos o “print” é a ação que vamos fazer, nesse caso, imprimir.

Por fim os outros 2 parâmetros ficaram um pouco mais intuitivos por conta das variáveis que colocamos, ou seja, vamos precisar do nome do arquivo e do caminho onde esse arquivo se encontra.

IMPORTANTE: É possível que ao executar o código você tenha um problema, pois esse método precisa que você tenha um leitor de PDF já que os nossos arquivos são PDF, e precisa que o seu computador leia esses arquivos já com esse leitor de forma padrão.

Depois disso é só executar o código e correr pra impressora pra ver o resultado!

Conclusão de Imprimir Arquivos com Python

Nessa aula eu te mostrei como você vai fazer para automatizar suas impressões na impressora com o Python!

Então agora além de fazer suas automações padrões você vai poder finalizar com a impressão dos seus relatórios para concluir essa automação!

E aí, está esperando o que pra testar e fazer sua impressora imprimir o que precisa de forma automática?

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero no Power BI e virar uma referência na sua empresa? Inscreva-se agora mesmo no Power BI Impressionador