FLUTTER ECOSYSTEM

wwandreww/flutter_sunmi_printer

Flutter 插件可使用內建印表機的 Sunmi 設備列印熱敏收據

flutter_sunmi_printer 專案封面
Stars
17
Forks
51
最近推送(UTC)
2021年10月8日
專案狀態
未封存
wwandreww GitHub avatar
GITHUB User

wwandreww ↗

語言JavaAIDLDartRubySwiftObjective-C

使用的依賴

依賴清單 2 項
  • flutter{"sdk":"flutter"}
  • flutter_test開發依賴{"sdk":"flutter"}

原始 README

以下為英文專案原文快照,最新內容請造訪 GitHub。

展開 / 收合專案 README

flutter_sunmi_printer

Plugin allows to print thermal receipts using Sunmi device with a built-in printer. Tested on Sunmi V2.

Features

  • text: print text with styles (bold, underline, align, font size)
  • row: print a row containing up to 12 columns (total columns width must be equal to 12)
  • image: print an image with alignment
  • hr: print full width separator
  • emptyLines: feed n lines
  • boldOn, boldOff
  • underlineOn, underlineOff

TODO

  • Print QR codes
  • Print Barcodes

Getting Started

import 'package:flutter_sunmi_printer/flutter_sunmi_printer.dart';

// Test regular text
SunmiPrinter.hr(); // prints a full width separator
SunmiPrinter.text(
    'Test Sunmi Printer',
    styles: SunmiStyles(align: SunmiAlign.center),
);
SunmiPrinter.hr();

// Test align
SunmiPrinter.text(
    'left',
    styles: SunmiStyles(bold: true, underline: true),
);
SunmiPrinter.text(
    'center',
    styles:
        SunmiStyles(bold: true, underline: true, align: SunmiAlign.center),
);
SunmiPrinter.text(
    'right',
    styles: SunmiStyles(bold: true, underline: true, align: SunmiAlign.right),
);

// Test text size
SunmiPrinter.text('Extra small text',
    styles: SunmiStyles(size: SunmiSize.xs));
SunmiPrinter.text('Medium text', styles: SunmiStyles(size: SunmiSize.md));
SunmiPrinter.text('Large text', styles: SunmiStyles(size: SunmiSize.lg));
SunmiPrinter.text('Extra large text',
    styles: SunmiStyles(size: SunmiSize.xl));

// Test row
SunmiPrinter.row(
    cols: [
        SunmiCol(text: 'col1', width: 4),
        SunmiCol(text: 'col2', width: 4, align: SunmiAlign.center),
        SunmiCol(text: 'col3', width: 4, align: SunmiAlign.right),
    ],
);

// Test image
ByteData bytes = await rootBundle.load('assets/rabbit_black.jpg');
final buffer = bytes.buffer;
final imgData = base64.encode(Uint8List.view(buffer));
SunmiPrinter.image(imgData);

SunmiPrinter.emptyLines(3);