sunmi_printer 0.0.1 copy "sunmi_printer: ^0.0.1" to clipboard
sunmi_printer: ^0.0.1 copied to clipboard

outdated

Sunmi device with build in printer plugin. Tested V2 Pro device.

example/lib/main.dart

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

import 'package:flutter/services.dart';
import 'package:sunmi_printer/sunmi_printer.dart';

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

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {

  TextEditingController _textController = TextEditingController();

  String _printerStatus = '';

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

  Future<bool> _bindingPrinter() async {
    final bool result = await SunmiPrinter.bindingPrinter();
    return result;
  }

  Future<void> _getPrinterStatus() async {
    final String result = await SunmiPrinter.getPrinterStatus();

    _printerStatus = result;
  }

  Future<void> _printText(String text) async {
    if (_printerStatus == 'Works normally') {
      print('printing..');
      try {
        await SunmiPrinter.start();
        await SunmiPrinter.printText(text);
        await SunmiPrinter.commit();
      } catch(e) {
        await SunmiPrinter.cancel();
      }

    }
  }

  // Platform messages are asynchronous, so we initialize in an async method.

  @override
  Widget build(BuildContext context) {
    _getPrinterStatus();
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
          child: Container(
            color: Colors.white,
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              crossAxisAlignment: CrossAxisAlignment.stretch,
              children: <Widget>[
                Text(
                  'Printer Status: $_printerStatus',
                  textAlign: TextAlign.center,
                ),
                Padding(
                  padding: EdgeInsets.symmetric(horizontal: 30.0),
                  child: TextFormField(
                    controller: _textController,
                    decoration: const InputDecoration(
                      hintText: 'Enter print text',
                    ),
                    validator: (value) {
                      if (value.isEmpty) {
                        return 'Please enter some text';
                      }
                      return null;
                    },
                  ),
                ),
                Padding(
                  padding: EdgeInsets.symmetric(horizontal: 30.0),
                  child: FlatButton(
                    color: Colors.amberAccent,
                    onPressed: () => {
                      this._printText('${_textController.text}')
                    },
                    child: Text('Print'),
                  ),
                )
              ],
            ),
          ),
        ),
      ),
    );
  }
}
23
likes
30
points
66
downloads

Publisher

unverified uploader

Weekly Downloads

Sunmi device with build in printer plugin. Tested V2 Pro device.

Homepage

License

unknown (license)

Dependencies

flutter

More

Packages that depend on sunmi_printer

Packages that implement sunmi_printer