devla_sunmi 1.0.1 copy "devla_sunmi: ^1.0.1" to clipboard
devla_sunmi: ^1.0.1 copied to clipboard

Support SUNMI T2.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'dart:async';
import 'package:devla_sunmi/flutter_sunmi_printer.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key key}) : super(key: key);

  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: 'Sunmi Printer',
        theme: ThemeData(
          primaryColor: Colors.black,
        ),
        debugShowCheckedModeBanner: false,
        home: const Home());
  }
}

class Home extends StatefulWidget {
  const Home({Key key}) : super(key: key);

  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  PrinterStatus _printerStatus;
  PrinterMode _printerMode;

  @override
  void initState() {
    super.initState();

    _bindingPrinter().then((bool isBind) async => {
          if (isBind)
            {
              _getPrinterStatus(),
              _printerMode = await _getPrinterMode(),
            }
        });
  }

  /// must binding ur printer at first init in app
  Future<bool> _bindingPrinter() async {
    final bool result = await SunmiPrinter.bindingPrinter();
    return result;
  }

  /// you can get printer status
  Future<void> _getPrinterStatus() async {
    final PrinterStatus result = await SunmiPrinter.getPrinterStatus();
    setState(() {
      _printerStatus = result;
    });
  }

  Future<PrinterMode> _getPrinterMode() async {
    final PrinterMode mode = await SunmiPrinter.getPrinterMode();
    return mode;
  }

  void printer() async {
    await SunmiPrinter.startTransactionPrint();
    await SunmiPrinter.printText('ໃບບິນ',
        style: SunmiStyle(
            align: SunmiPrintAlign.CENTER,
            bold: true,
            fontSize: SunmiFontSize.LG));
    await SunmiPrinter.printText('Paymart payrich ສາຂາ ໜອງພະຍາ',
        style: SunmiStyle(
            align: SunmiPrintAlign.CENTER,
            bold: true,
            fontSize: SunmiFontSize.MD));
    await SunmiPrinter.printText('( Vientiane, Xaisetthar, Meuang noy )',
        style: SunmiStyle(
          align: SunmiPrintAlign.CENTER,
        ));
    await SunmiPrinter.printText('+85620 99935756',
        style: SunmiStyle(
          align: SunmiPrintAlign.CENTER,
        ));
    await SunmiPrinter.line();
    await SunmiPrinter.printText('ເລກບິນ: 1234567890');
    await SunmiPrinter.printText('ວັນເວລາ: 01/01/2022 || 15:00:00');
    await SunmiPrinter.printText('ຊຳລະໂດຍ: ເງິນສົດ');
    await SunmiPrinter.printText('ເລກບິນ: 1234567890');
    await SunmiPrinter.line();
    await SunmiPrinter.printText('ລາຍການສິນຄ້າ',
        style: SunmiStyle(
            align: SunmiPrintAlign.CENTER,
            bold: true,
            fontSize: SunmiFontSize.MD));
    await SunmiPrinter.printText('1. ເບຍລາວໃຫຍ່  2 x 120,000 ');
    await SunmiPrinter.printText('2. ເບຍລາວໃຫຍ່  2 x 12,000,000 ');
    await SunmiPrinter.printText('3. ເບຍລາວໃຫຍ່  2 x 120,000,000 ');
    await SunmiPrinter.printText('4. ເບຍລາວໃຫຍ່  2 x 12,000 ');
    await SunmiPrinter.printText('4. ເບຍລາວໃຫຍ່  2 x 1,000 ');
    await SunmiPrinter.line();
    await SunmiPrinter.printText('ສະມາຊິກ',
        style: SunmiStyle(
            align: SunmiPrintAlign.CENTER,
            bold: true,
            fontSize: SunmiFontSize.MD));
    await SunmiPrinter.printText('ຊື່: ພີນ');
    await SunmiPrinter.printText('ເບີໂທ: 99999999');
    await SunmiPrinter.printText('ຄະແນນກັບຄືນສູກະເປົາ: 2,000 ຄະແນນ');
    await SunmiPrinter.printText('ຊື່: ພີນ');
    await SunmiPrinter.printText('ຂໍຂອບໃຈ',
        style: SunmiStyle(
            align: SunmiPrintAlign.CENTER,
            bold: true,
            fontSize: SunmiFontSize.MD));
    await SunmiPrinter.submitTransactionPrint();
    await SunmiPrinter.exitTransactionPrint();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: const Text('Pingspace Demo Printer'),
        ),
        body: Column(
          children: [
            ElevatedButton(
                onPressed: () => printer(), child: const Text('printer')),
          ],
        ));
  }
}
0
likes
0
pub points
3%
popularity

Publisher

unverified uploader

Support SUNMI T2.

Homepage

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on devla_sunmi