Impresiones
Es posibile utilizar la impresora térmica de los dispositivos Point Smart para realizar impresiones de imågenes en bitmap o imågenes personalizadas a partir de patrones llamados Custom Tags.
Imprimir Bitmap
Para imprimir imĂĄgenes en bitmap con la impresora de Point Smart, utiliza la funciĂłn print de la clase BitmapPrinter
. El acceso se da a través del objeto MPManager
, como en el ejemplo a continuaciĂłn:
val bitmapPrinter = MPManager.bitmapPrinter
val imageToPrint: Bitmap = bitmap // Obtener la imagen bitmap para imprimir
bitmapPrinter.print(imageToPrint) { response ->
   response.doIfSuccess { printResult ->
       // Manejar la impresión exitosa
   }.doIfError { error ->
       // Manejar el error en la operación
final BitmapPrinter bitmapPrinter = MPManager.INSTANCE.getBitmapPrinter();
final Bitmap imageToPrint = bitmap // Obtener la imagen bitmap para imprimir
final Function1<MPResponse<String>, Unit> callback = (final MPResponse<String> response) -> {
 if (response.getStatus() == ResponseStatus.SUCCESS) {
   // Manejar la impresión exitosa
 } else {
   // Manejar el error en la operación
 }
 return Unit.INSTANCE;
};
bitmapPrinter.print(imageToPrint, callback);
Campo | DescripciĂłn |
dataToPrint (Bitmap) | La imagen bitmap que se imprimirĂĄ. |
callback ((MPResponse<String>) -> Unit) | FunciĂłn de devoluciĂłn del llamado que ofrece la operaciĂłn de impresiĂłn. El [MPResponse] encapsula el estado, el error (si lo hay) y los datos en caso de Ă©xito, que tiene un String representando el ID o estado de la impresiĂłn. |
Imprimir Custom Tag
La funciĂłn print
de la clase BitmapPrinter
en nuestro SDK tambiĂ©n puede ser utilizada para crear impresiones personalizadas. Esto se realiza a partir de un patrĂłn, llamado Custom Tag, que consiste en enviar un string con diferentes tags de control para su posterior interpretaciĂłn por nuestro sistema, lo que arroja como resultado un comprobante fĂsico.
A continuaciĂłn se muestra un ejemplo de cĂłmo se puede implementar esta funcionalidad:
val bitmapPrinter = MPManager.bitmapPrinter
val customTagToPrint: String = "{br}{br}{s}este es un texto de prueba{/s}"
val paymentMethodName: String? = null // Paråmetro opcional que permite imprimir el nombre del método de pago usado
val printPdf417InBoleta: Boolean? = null // ParĂĄmetro opcional que permite imprimir el cĂłdigo de barra pdf417(la mancha). Valor por defecto: null
bitmapPrinter.print(customTagToPrint, paymentMethodName, printPdf417InBoleta) { response ->
response.doIfSuccess { printResult ->
// Manejar la impresiĂłn exitosa
}.doIfError { error ->
// Manejar el error en la operaciĂłn de impresiĂłn
final BitmapPrinter bitmapPrinter = MPManager.INSTANCE.getBitmapPrinter();
final String customTagToPrint = "{br}{br}{s}este es un texto de prueba{/s}"
@Nullable
final String paymentMethodName //Paråmetro opcional que permite imprimir el nombre del método de pago.
@Nullable
final Boolean printPdf417InBoleta // ParĂĄmetro opcional que permite imprimir el codigo de barra pdf417(la mancha).
final Function1<MPResponse<String>, Unit> callback = (final MPResponse<String> response) -> {
if (response.getStatus() == ResponseStatus.SUCCESS) {
// Manejar la impresiĂłn exitosa
} else {
// Manejar el error en la operaciĂłn de impresiĂłn
}
return Unit.INSTANCE;
};
bitmapPrinter.print(customTagToPrint, paymentMethodName, printPdf417InBoleta, callback);