sunmi_printer_plugin

Creator: coderz1093

Last updated:

0 purchases

TODO
Add to Cart

Description:

sunmi printer plugin

sunmi_printer_plugin #
This is a fork from sunmi_printer , but i implemented a lot of other features described below #
Important: #
THIS PACKAGE WILL WORK ONLY IN ANDROID!
Support Sunmi and Null Safety.
I build this flutter plugin based on this:
Official Sunmi Inner Printer Doc. But not all method from doc was included in this package, beacuse i don't have equipment. If you have and can help me, just contact me on github!
Installation #
flutter pub add sunmi_printer_plugin
copied to clipboard
What this package do #

✅ Write some text (with style or not!)
✅ Change font size
✅ Jump (n) lines
✅ Draw a divisor line
✅ Bold mode on/off
✅ Print all types of Barcodes (see enum below)
✅ Print Qrcodes with custom width and error-level
✅ Print image from asset or from web (example show how to print both)
✅ Print rows like recepit with custom width and alignment
✅ Able to combine with some esc/pos code that you already have!
✅ Cut paper - Dedicated method just to cut the line
✅ Printer serial no - Get the serial number of the printer
✅ Printer version - Get the printer's version
✅ Printer paper size - Get the paper size ( 0: 80mm 1: 58mm)
✅ LCD Print a image ytyng
✅ LCD Print a string , multi lines as double lines Thanks to ytyng
✅ Open de cash drawer Thanks to ZheruiL
✅ Check if the cash drawer is connected or not
✅ Get how many times the cash drawer was oppened

Tested Devices #
Sunmi V2 Pro
Sunmi T2 mini
Sunmi V2S
copied to clipboard
You can also combine this package with the package esc_pos_utils #
With this package you can create a custom escpos and than you don't need to use any other command.
This is good if you already have a code that another printers use, and u can reuse this code as well
#Just see the example folder!
// import packages
import 'package:sunmi_printer_plugin/sunmi_printer_plugin.dart';


// all method from sunmi printer need to async await
await SunmiPrinter.bindingPrinter(); // must bind the printer first. for more exmaple.. pls refer to example tab.

copied to clipboard
Example code when use for transaction printing #
await SunmiPrinter.startTransactionPrint(true);

await SunmiPrinter.setAlignment(SunmiPrintAlign.RIGHT); // Right align
await SunmiPrinter.printText('Align right');

await SunmiPrinter.setAlignment(SunmiPrintAlign.LEFT);// Left align
await SunmiPrinter.printText('Align left');

await SunmiPrinter.setAlignment(SunmiPrintAlign.CENTER);// Center align
await SunmiPrinter.printText('Align center');

await SunmiPrinter.lineWrap(2); // Jump 2 lines

await SunmiPrinter.setFontSize(SunmiFontSize.XL); // Set font to very large
await SunmiPrinter.printText('Very Large font!');
await SunmiPrinter.resetFontSize(); // Reset font to medium size

await SunmiPrinter.setCustomFontSize(12); // SET CUSTOM FONT 12
await SunmiPrinter.printText('Custom font size!!!');
await SunmiPrinter.resetFontSize(); // Reset font to medium size

await SunmiPrinter.printQRCode('https://github.com/brasizza/sunmi_printer'); // PRINT A QRCODE
await SunmiPrinter.submitTransactionPrint(); // SUBMIT and cut paper
await SunmiPrinter.exitTransactionPrint(true); // Close the transaction

copied to clipboard
Example code for LCD functions @ytyng #
await SunmiPrinter.lcdInitialize(); //Initialize the LCD
await SunmiPrinter.lcdWakeup(); //Turn the LCD ON
await SunmiPrinter.lcdSleep(); //Turn the LCD OFF
await SunmiPrinter.lcdClear(); //Clear LCD screen
await SunmiPrinter.lcdString('Hello'); //Write a simple line
await SunmiPrinter.lcdString('Hello'); //Write a simple line
await SunmiPrinter.lcdDoubleString('Hello', 'World'); //Write two lines

Uint8List byte = await readFileBytes('assets/images/128x40.png');
await SunmiPrinter.lcdImage(byte); // Put an image in LCD
await SunmiPrinter.lcdFillString('abcDEFgj0123\$&=+', size: 16, fill: true); // Print a string and fill with zeros until the size is reached
await SunmiPrinter.lcdMultiString([ 'Welcome to flutter.', 'Align 2.',], [ 1, 2,]); // Write multiple lines with alignent

copied to clipboard
Example to open the cashier @ZheruiL #
bool await SunmiPrinter.drawerStatus(); //check if the cash drawer is connect or disconnect

await SunmiPrinter.openDrawer(); //open de cash drawer

int await SunmiPrinter.drawerTimesOpen(); //How many times de cash drawer was oppened

copied to clipboard
List of enum printer mode #
enum PrinterMode {
NORMAL_MODE,
BLACK_LABEL_MODE,
LABEL_MODE
}
copied to clipboard
List of enum Alignments #
enum SunmiPrintAlign {
LEFT,
CENTER,
RIGHT,
}
copied to clipboard
List of enum Qrcode levels #
enum SunmiQrcodeLevel {
LEVEL_L,
LEVEL_M,
LEVEL_Q,
LEVEL_H,
}
copied to clipboard
List of enum Barcode types #
enum SunmiBarcodeType {
UPCA,
UPCE,
JAN13,
JAN8,
CODE39,
ITF,
CODABAR,
CODE93,
CODE128,
}
copied to clipboard
List of enum Text position in barcode #
enum SunmiBarcodeTextPos {
NO_TEXT,
TEXT_ABOVE,
TEXT_UNDER,
BOTH,
}
copied to clipboard
List of enum Font sizes #
enum SunmiFontSize {
XS,
SM,
MD,
LG,
XL,
}
copied to clipboard

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.