imprimirTexto method

Future imprimirTexto(
  1. {@required String texto,
  2. int tamanhoFonte = 80,
  3. Alinhamento alinhamento,
  4. TipofontFamily fontFamily,
  5. bool negrito = false,
  6. bool italico = false,
  7. bool sublinhado = false}
)

Realiza a impressão de texto.

Recebe como parâmetro obrigatório a mensagem que vai ser impressa.

Recebe como parâmetro o tamanho da fonte.

Recebe como parâmetro uma variável da Classe Alinhamento, que determina onde o texto vai ser impresso.

Recebe como parâmetro uma variável da Classe TipofontFamily, que determina a fonte do texto.

Recebe três parâmetros relacionados a estilo de fonte.

Implementation

static Future<dynamic> imprimirTexto({
  @required String texto,
  int tamanhoFonte = 80,
  Alinhamento alinhamento,
  TipofontFamily fontFamily,
  bool negrito = false,
  bool italico = false,
  bool sublinhado = false,
}) async {
  String ext = "";
  dynamic result = "";
  String fontFamil = fontFamily?.getTipoFontFamily ??
      TipofontFamily.monospace.getTipoFontFamily;
  try {
    if (fontFamil != "MONOSPACE" &&
        fontFamil != "SANS SERIF" &&
        fontFamil != "SERIF") {
      ext = fontFamil
          .substring(
            fontFamil.lastIndexOf('.'),
            fontFamil.length,
          )
          .toString()
          .toLowerCase();
      await convertToBase64(fontFamil).then((value) => fontFamil = value);
    } else {
      ext = "";
    }
    result = await _channel.invokeMethod(
      'imprimirTexto',
      <String, dynamic>{
        "mensagem": texto,
        "alinhar": alinhamento?.getTipoAlinhamento ??
            Alinhamento.centralizado.getTipoAlinhamento,
        "size": tamanhoFonte,
        "font": fontFamil,
        "ext": ext, // verifica qual extensão da fonte passada
        "negrito": negrito,
        "sublinhado": sublinhado,
        "italico": italico
      },
    );
    return result;
  } on PlatformException catch (e) {
    print(e.message);
  }
}