sunmi_printer_plus

Creator: coderz1093

Last updated:

Add to Cart

Description:

sunmi printer plus

sunmi_printer_plus #
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_plus
copied to clipboard
What this package do #

Print in label mode (when avaliable!)
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_plus/sunmi_printer_plus.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.

Customer Reviews

There are no reviews.