Inicio
Documentação
Recursos
Certificações
Comunidade

Recursos

Confira as atualizações das nossas soluções e do funcionamento do sistema ou peça suporte técnico.

Comunidade

Fique por dentro das últimas novidades, peça ajuda a outros integradores e compartilhe seu conhecimento.

Impressões - Main Apps - Mercado Pago Developers

Busca inteligente powered by OpenAI 

Impressões

É possível utilizar a impressora térmica dos dispositivos Point Smart para realizar impressões de imagens em bitmap, DTE, ou imagens personalizadas a partir de padrões chamados Custom Tags.

Nota
Se você deseja realizar impressões com uma impressora externa, deverá emparelhá-la com seu dispositivo utilizando a funcionalidade Bluetooth. Acesse Imprimir com impressora externa para mais informações.

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

        
CampoDescriçã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 e DTE

A função print da classe BitmapPrinter em nosso SDK também pode ser utilizada para criar impressões personalizadas ou DTEs.

No primeiro caso, a impressão é realizada 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.

No caso do DTE, a impressão é feita enviando como parâmetro um .xml da transação.

Você pode ver a seguir como implementar impressões de Custom Tags e DTEs.

[[[

kotlin

val bitmapPrinter = MPManager.bitmapPrinter

val customTagToPrint: String = "{br}{b}este é um texto de teste{/s}" // Se você precisa imprimir um DTE, troque a string custom tag pelo xml.

val paymentMethodName: String? = null // Parâmetro opcional que permite imprimir o nome do método de pagamento usado em caso de querer fazer a impressão de um recibo eletrônico (DTE tipo 39,41). Valor padrão: null.

val printPdf417InBoleta: Boolean? = null // Parâmetro opcional que permite imprimir o código de barras pdf417 (a mancha) em caso de querer fazer a impressão de um recibo eletrônico (DTE tipo 39,41). Valor padrão: null.

bitmapPrinter.print(customTagToPrint, paymentMethodName, printPdf417InBoleta) { response ->
   response.doIfSuccess { printResult ->
       // Tratar a impressão bem-sucedida

   }.doIfError { error ->
       // Tratar o erro na operação de impressão

java

final BitmapPrinter bitmapPrinter = MPManager.INSTANCE.getBitmapPrinter();

final String customTagToPrint = "{br}{b}este é um texto de teste{/s}" // Se você precisa imprimir um DTE, troque a string custom tag pelo xml.

@Nullable
final String paymentMethodName; // Parâmetro opcional que permite imprimir o nome do método de pagamento em caso de querer fazer a impressão de um recibo eletrônico (DTE tipo 39,41). Valor padrão: null.

@Nullable
final Boolean printPdf417InBoleta; // Parâmetro opcional que permite imprimir o código de barras pdf417 (a mancha) em caso de querer fazer a impressão de um recibo eletrônico (DTE tipo 39,41). Valor padrão: null.

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