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