Ultimas do CanalQb

Python - Usando snmp para alterar tamanha da bandeja de uma impressora l

Python + SNMP Exemplo de utilização
AirdropsQb

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()))

set_paper_size("10.0.0.10", "public", "2") # 2 representa o tamanho carta
Neste exemplo, a função set_paper_size usa a biblioteca pysnmp para enviar o comando SNMP para a impressora Lexmark. O primeiro argumento é o endereço IP da impressora, o segundo argumento é a string de comunidade SNMP e o terceiro argumento é o tamanho do papel que você deseja definir.

Aqui, o valor "2" representa o tamanho carta. Você pode encontrar a lista completa dos valores válidos para o tamanho do papel na documentação da impressora Lexmark.

Nenhum comentário

Comente só assim vamos crescer juntos!

Observação: somente um membro deste blog pode postar um comentário.