SDK Android

Provider de Impressão

O PrintProvider pode ser utilizado apenas com pinpads que possuem suporte a print.

Na assinatura do construtor, o PrintProvider irá pedir três parâmetros, uma Activity, uma lista de PrintObject e o pinpad que irá imprimir o seu comprovante.

PrintObject representa cada linha que será impressa pelo PrintProvider.

Nome Tipo Função
message String Mensagem que será impressa (por linha).
size Integer Tamanho da impressão, SMALL, MEDIUM ou BIG, todos dentro do objeto PrintObject.
align Integer Alinhamento da impressão, LEFT, CENTER ou RIGHT, todos dentro do objeto PrintObject.

Para impressão de QR Code é necessário enviar a ‘TAG_PRINT’ como size e align. A mensagem que será enviada dentro do QR Code deve conter no máximo 512 caracteres.

// Declara a lista de impressão, lembrando que cada item representa uma linha.
List<PrintObject> listToPrint = new ArrayList<PrintObject>();
for (int i = 0; i < 10; i++) {
    listToPrint.add(new PrintObject("Teste de impressão linha " + i, PrintObject.MEDIUM, PrintObject.CENTER));
}

final PrintProvider printProvider = new PrintProvider("SUA_ACTIVITY_AQUI", listToPrint, "PINPAD_QUE_VOCÊ_DESEJA_UTILIZAR");
printProvider.useDefaultUI(true);
printProvider.setDialogMessage("Imprimindo...");
printProvider.setConnectionCallback(new StoneCallbackInterface() {
    public void onSuccess() {
        // Notinha impressa com sucesso.
    }
    public void onError() {
        // Ocorreu um erro na impressão.
    }
});
printProvider.execute();

Com o código que tivemos de exemplo anteriormente, nós teremos o seguinte comprovante:

A SDK irá interpretar cada item da sua lista (cada PrintObject) como uma linha a ser impressa. Com o código que foi passado na imagem anterior, ele rodará um laço "for" e criará 10 linhas de impressão. O provider será executado e terá o resultado visto acima.

Por padrão, todas as notinhas são impressas com a logo da Stone.

Para visualizar exemplos de comprovante, acesse a seção Exemplo de Comprovante.