Automação com Python: como alterar o tamanho de papel via SNMP
Se você precisa automatizar configurações em impressoras de rede, como alterar o tamanho de papel, o protocolo SNMP combinado com a linguagem Python é uma solução prática e eficiente.
Neste tutorial, vamos demonstrar como usar a biblioteca pysnmp
para alterar o tamanho de papel em impressoras compatíveis, como os modelos da Lexmark. O código pode ser adaptado para outras marcas que suportem SNMP e forneçam os MIBs corretos.
Exemplo prático com Python e SNMP em uma Lexmark
![]() |
Python + SNMP: Exemplo de alteração de papel | |
@CanalQb |
Script Python para alterar o tamanho de papel
Este script usa a biblioteca pysnmp
para alterar o tamanho do papel em uma impressora de rede configurada para receber comandos SNMP.
from pysnmp.hlapi import *
def set_paper_size(ip_address, community_string, paper_size):
errorIndication, errorStatus, errorIndex, varBinds = setCmd(
SnmpEngine(),
CommunityData(community_string),
UdpTransportTarget((ip_address, 161)),
ContextData(),
ObjectType(
ObjectIdentity('1.3.6.1.2.1.43.8.2.1.14.1.1', paper_size)
),
lookupMib=False,
)
if errorIndication:
print(errorIndication)
else:
if errorStatus:
print('%s at %s' % (
errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex) - 1][0] or '?'
))
else:
for name, val in varBinds:
print('%s = %s' % (name.prettyPrint(), val.prettyPrint()))
# Exemplo de uso
set_paper_size("10.0.0.10", "public", "2") # 2 representa tamanho carta
Entendendo o código
No exemplo acima, a função set_paper_size
realiza o envio de um comando SNMP do tipo set
, que altera o valor de um OID (Object Identifier) específico da impressora.
- ip_address: Endereço IP da impressora na rede
- community_string: String pública para SNMP (geralmente “public”)
- paper_size: Valor correspondente ao tamanho do papel (ex: "2" para carta)
É importante consultar a documentação oficial da Lexmark para verificar todos os valores suportados para tamanhos de papel, conforme o modelo da impressora.
Possibilidades de automação com SNMP
Com este tipo de automação você pode:
- Alterar configurações de rede de forma remota
- Monitorar status de impressão
- Enviar comandos para configurações específicas, como tipo de papel, bandejas, duplex, entre outros
Recomendações e compatibilidades
- Utilize Python 3.6 ou superior
- Certifique-se de que a impressora esteja com SNMP habilitado
- Considere o uso de ferramentas como
snmpwalk
para explorar OIDs
Nota de responsabilidade
Este conteúdo é informativo e técnico. Alterações em dispositivos de rede devem ser feitas com cautela. Sempre revise as documentações dos fabricantes e teste em ambientes controlados antes de aplicar em produção.
Gostou do conteúdo?
Assista ao passo a passo completo em vídeo no canal oficial no YouTube: