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