# Impressão de Bitmaps

Este guia demonstra como imprimir imagens usando a impressora térmica do terminal. A biblioteca `PeripheralsLib` permite que você envie objetos `Bitmap` diretamente para a impressora.

## Requisitos da Imagem

Para garantir resultados de impressão consistentes em diferentes modelos de terminal e evitar erros, siga as seguintes especificações de imagem:

* **Formato:** Bitmap (`android.graphics.Bitmap`)  
* **Largura Máxima:** 390 pixels  
* **Esquema de Cores:** Preto e Branco (profundidade de 1 bit recomendada)  
* **Compressão:** A compressão JPEG é recomendada para o ativo de origem.

## Impressão Básica

Se você não precisar rastrear o status do trabalho de impressão, pode usar o método simples `printBitmap`.

```java
// Assuming 'manager' is an initialized instance of PeripheralsManager
Bitmap myImage = BitmapFactory.decodeResource(getResources(), R.drawable.my_receipt_image);

manager.printBitmap(myImage);
```

## Impressão com Callbacks

Para lidar com cenários de sucesso ou falha (por exemplo, falta de papel, superaquecimento), use o método que aceita um `PrintBmpCallback`. Esta é a abordagem recomendada para aplicativos de produção para fornecer feedback ao usuário.

### Implementação

```java
manager.printBitmap(myBitmap, new PrintBmpCallback() {
    @Override
    public void onSuccess() {
        // Called when printing completes successfully
        Log.d("Printer", "Print finished successfully");
        runOnUiThread(() -> Toast.makeText(context, "Print Complete", Toast.LENGTH_SHORT).show());
    }

    @Override
    public void onError(String error) {
        // Called if an error occurs during printing
        Log.e("Printer", "Print failed: " + error);
        runOnUiThread(() -> Toast.makeText(context, "Error: " + error, Toast.LENGTH_LONG).show());
    }
});
```

### Métodos de Callback

| Método | Descrição |
| :---- | :---- |
| `onSuccess()` | Acionado quando o trabalho de impressão termina sem erros. |
| `onError(String error)` | Acionado se o trabalho de impressão falhar. A string contém a descrição do erro. |