printPicture method

  1. @override
Future<PrintResult> printPicture(
  1. Uint8List imageBytes, {
  2. int width = 0,
  3. TextAlignment alignment = TextAlignment.left,
  4. bool cutPaper = true,
})
override

Imprime uma imagem a partir de bytes

Implementation

@override
Future<PrintResult> printPicture(
  Uint8List imageBytes, {
  int width = 0,
  TextAlignment alignment = TextAlignment.left,
  bool cutPaper = true,
}) async {
  // Se width for 0, obtém o tamanho original da imagem
  if (width == 0) {
    final codec = await instantiateImageCodec(imageBytes);
    final frame = await codec.getNextFrame();
    width = frame.image.width;
  }

  final result = await methodChannel.invokeMethod<Map>('printPicture', {
    'imageBytes': imageBytes,
    'alignment': alignment.value,
    'width': width,
    'cutPaper': cutPaper,
  });

  if (result == null) {
    return const PrintResult(success: false, resultCode: -1);
  }

  return PrintResult.fromMap(result);
}