Comparativo de APIs de impressão na nuvem: escolher entre as seis opções reais

Seis formas de imprimir a partir de um servidor, comparadas nos três eixos que decidem: quem inicia, o que corre no local e a que hardware fica preso.

A maioria dos comparativos sobre este tema são listas de funcionalidades em que uma coluna calha estar toda verde. Este está organizado em torno das três perguntas que determinam realmente que ferramenta pode usar: as respostas eliminam opções muito antes de qualquer funcionalidade.

Resposta curta: pergunte (1) se algo tem de correr no local, (2) quem inicia a ligação, e (3) se fica preso a uma marca de impressora. Respondidas as três, normalmente só restam uma ou duas opções.

As três perguntas decisivas

1. Pode algo correr permanentemente no local? Um computador, um terminal de POS, um Raspberry Pi com o seu software. Se sim, o PrintNode e o QZ Tray estão abertos. Se não (porque as instalações são dos seus clientes, porque são duzentas, ou porque ali ninguém consegue reiniciar nada), precisa de uma impressora que se ligue sozinha.

2. Quem inicia: o seu servidor ou a impressora? Push significa que o seu backend chama uma API e o serviço entrega. Polling significa que a impressora pergunta repetidamente a um servidor que você aloja. As arquiteturas de polling (CloudPRNT, Epson Server Direct Print) entregam-lhe a disponibilidade, a fila e a semântica exatamente-uma-vez.

3. Quantas integrações vai manter? Cada fabricante implementa o seu próprio protocolo para a sua própria gama: CloudPRNT na Star, Server Direct Print na Epson. Do lado deles é razoável: vendem impressoras, não camadas de integração. Mas significa uma integração por marca, e um parque deixa de ser homogéneo assim que abre um segundo local. O papel de uma plataforma de impressão é a camada acima: um endpoint único seja qual for o hardware, mais os conectores entre um pedido e um talão que nenhum fabricante entrega.

Frente a frente

Corre no local Iniciador Hardware Piso de latência Você aloja
IPP / CUPS nativo Servidor de impressão Push, apenas LAN Qualquer Rede O servidor
QZ Tray App Java por posto Navegador Qualquer, local Imediato Nada (mas um certificado)
PrintNode Cliente por local Push Qualquer < 1 s Nada
Star CloudPRNT Nada A impressora consulta-o Apenas Star Intervalo de polling O endpoint
Epson Server Direct Print Nada A impressora consulta-o Apenas Epson Intervalo de polling O endpoint
Expedy Print Nada Push Qualquer (nuvem ou adaptador Pi) < 1 s Nada

Ler a tabela honestamente

Nada aqui é mau. Cada opção é a melhor para alguma situação. O IPP é a resposta certa para um escritório que imprime documentos numa LAN, e forçar isso por uma API na nuvem seria absurdo.

A coluna «corre no local» decide a maioria dos projetos. É a que determina se a sua carga de suporte cresce linearmente com o número de clientes.

A coluna «você aloja» é a que surpreende. Construir um endpoint CloudPRNT leva uma tarde. Operá-lo (disponibilidade, fila, retentativas, piquete) é contínuo, e raramente é orçamentado.

A latência só importa às vezes. Três segundos de polling são irrelevantes para uma lista de picking em armazém e decisivos para um talão de cozinha em pleno serviço.

Escolher num parágrafo

Tudo numa LAN e uma pessoa carrega em Imprimir: impressão nativa. Uma web app tem de alcançar a impressora da mesma secretária com comandos crus: QZ Tray. Cada local tem um computador mantido e sempre ligado: PrintNode. O seu parque é todo Star ou todo Epson e alojar um endpoint não o incomoda: CloudPRNT ou Server Direct Print. O seu backend tem de imprimir sem supervisão, em locais que não controla, sobre o hardware que cada local tiver: uma API push neutra.

A Expedy Print foi construída para este último caso, com API REST, adaptador Raspberry Pi e conectores para Shopify, WooCommerce e Zapier.

FAQ

Qual é o critério mais importante ao escolher uma API de impressão na nuvem?

Se alguma coisa tem de correr no local. Essa única pergunta decide se a sua carga de suporte cresce com cada cliente, e exclui opções antes de qualquer comparação de funcionalidades contar.

Qual é a diferença entre impressão push e por sondagem?

Com push, o seu backend chama uma API e o serviço entrega o trabalho. Com sondagem, a impressora pergunta repetidamente a um servidor que é você a alojar se há trabalho, o que o torna responsável pela disponibilidade e pela fila desse servidor.

Que opções me prendem a uma só marca de impressora?

O Star CloudPRNT exige impressoras Star e o Epson Server Direct Print exige impressoras Epson. IPP, QZ Tray, PrintNode e Expedy Print são neutros em relação ao fabricante.

A latência interessa mesmo?

Depende do caso de uso. Alguns segundos são irrelevantes para uma lista de picking num armazém e decisivos para um talão de cozinha em pleno serviço, onde fazem a diferença entre o talão chegar com a encomenda ou depois de o cliente já ter saído.

Posso usar mais do que uma ao mesmo tempo?

Sim, e muitas equipas fazem-no. As impressões lançadas pelo operador ao balcão podem ficar no QZ Tray ou na impressão nativa enquanto as guiadas por eventos passam para uma API push.