Skip to content

USB commands to connect with printer with ZEBRA #2

Description

@albertosouza

Thanks to: André Racz

function zebra(commands, options, callback) {
    var usb = require('usb')    
    // IDS da Zebra TLP
    var device = usb.findByIds(0x0a5f, 0x000a);
    if (device == null) {
        callback(new Error('Impressora não localizada'));
        return;
    }

    device.open();
    var interface = device.interface(0);
    if (interface == null) {
        callback(new Error('Interface não localizada'));
        return;
    }
    if (interface.isKernelDriverActive()) {
        interface.detachKernelDriver();
    }
    interface.claim();

    var epl2_command = commands.join("\n") + "\n";

    var endpoint = interface.endpoint(6);
    if (endpoint == null) {
        callback(new Error('Endpoint não localizada'));
        return;
    }
    endpoint.transfer(epl2_command, function(err1) {
        if (err1) {
            callback(err1);
        }
        interface.release(true, function(err2) {
            if (err2) {
                callback(err2);
            }
            device.close();
            callback(null);
        });
    })
}


var commands = [
      'N',
      'A30,50,0,4,1,1,N,"Titulo 1"',
      'A30,80,0,4,1,1,N,"Dados 1"',
      'A30,110,0,4,1,1,N,"Dados 2',
      'A30,140,0,4,1,1,N,"Dados 3"',
      'A30,170,0,4,1,1,N,"Dados4',
      'b30,0,P,500,500,"http://www.uol.com.br"', // Codigo de barra 2d, padrão PDF
      'P1', // IMPRIMIR UMA ETIQUETA COM OS DADOS ACIMA
    ];

zebra(commands, console.log.bind(console));

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions