Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

Como Alterar Tamanho de Papel com Python e SNMP em Impressoras

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

@CanalQb 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:

@CanalQb

Postar um comentário

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo