Impressões
É possível utilizar a impressora térmica dos dispositivos Point Smart para realizar impressões de imagens em bitmap ou imagens personalizadas a partir de padrões chamados Custom Tags.
Imprimir Bitmap
Para imprimir imagens em bitmap com a impressora da Point Smart, use a função print da classe BitmapPrinter
. O acesso ocorre por meio do objeto MPManager
, como no exemplo a seguir:
val bitmapPrinter = MPManager.bitmapPrinter
val imageToPrint: Bitmap = bitmap // Obter a imagem bitmap que será impressa
bitmapPrinter.print(imageToPrint) { response ->
response.doIfSuccess { printResult ->
// Gerenciar a impressão bem-sucedida
}.doIfError { error ->
// Gerenciar o erro na operação de impressão
final BitmapPrinter bitmapPrinter = MPManager.INSTANCE.getBitmapPrinter();
final Bitmap imageToPrint = bitmap // Obter a imagem Bitmap que será impressa
final Function1<MPResponse<String>, Unit> callback = (final MPResponse<String> response) -> {
if (response.getStatus() == ResponseStatus.SUCCESS) {
// Gerenciar a operação bem-sucedida
} else {
// Gerenciar o erro na operação de impressão
}
return Unit.INSTANCE;
};
bitmapPrinter.print(imageToPrint, callback);
Campo | Descrição |
dataToPrint (Bitmap) | A imagem bitmap que será impressa. |
callback ((MPResponse<String>) -> Unit) | Função de devolução da chamada que proporciona o resultado da operação de impressão. O [MPResponse] encapsula o estado, o erro (se houver) e os dados em caso de sucesso, que contêm um String representando o ID ou estado da impressão. |
Imprimir Custom Tag
A função print
da classe BitmapPrinter
em nosso SDK também pode ser utilizada para criar impressões personalizadas. Isso é realizado a partir de um padrão, chamado Custom Tag, que consiste em enviar uma string com diferentes tags de controle para sua posterior interpretação por nosso sistema, resultando em um comprovante físico.
A seguir, é mostrado um exemplo de como essa funcionalidade pode ser implementada:
val bitmapPrinter = MPManager.bitmapPrinter
val customTagToPrint: String = "{br}{b}este é um texto de teste{/s}"
val paymentMethodName: String? = null // Parâmetro opcional que permite imprimir o nome do método de pagamento usado.
val printPdf417InBoleta: Boolean? = null // Parâmetro opcional que permite imprimir o código de barras pdf417 (a mancha). Valor padrão: null
bitmapPrinter.print(customTagToPrint, paymentMethodName, printPdf417InBoleta) { response ->
response.doIfSuccess { printResult ->
// Manter a impressão bem-sucedida
}.doIfError { error ->
// Tratar o erro na operação de impressão
final BitmapPrinter bitmapPrinter = MPManager.INSTANCE.getBitmapPrinter();
final String customTagToPrint = "{br}{b}este é um texto de teste{/s}"
@Nullable
final String paymentMethodName; // Parâmetro opcional que permite imprimir o nome do método de pagamento.
@Nullable
final Boolean printPdf417InBoleta; // Parâmetro opcional que permite imprimir o código de barras pdf417 (a mancha).
final Function1<MPResponse<String>, Unit> callback = (final MPResponse<String> response) -> {
if (response.getStatus() == ResponseStatus.SUCCESS) {
// Tratar a impressão bem-sucedida
} else {
// Tratar o erro na operação de impressão
}
return Unit.INSTANCE;
};
bitmapPrinter.print(customTagToPrint, paymentMethodName, printPdf417InBoleta, callback);