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

retracted

A Flutter plugin for integrating and controlling the Nyx printer (NB55 and T2 Pro models), enabling features like paper handling, printing status, and more.

NyxPrinter Flutter Plugin

The NyxPrinter package is a Flutter plugin that allows you to interact with a printer, enabling functionalities such as printing text, barcodes, QR codes, and images. This plugin leverages platform-specific code to communicate with the printer and perform various tasks.

Features

  • Print Text: Allows printing formatted text.
  • Print Barcode: Enables printing of barcodes with customizable dimensions.
  • Print QR Code: Enables printing of QR codes with customizable dimensions.
  • Print Image: Allows printing PNG images.

Installation

To use NyxPrinter in your Flutter project, add the following dependency to your pubspec.yaml file:

dependencies: nyx_printer: ^latest_version

Then, run the following command in your terminal to install the package:

flutter pub get

Importing the Package

In your Dart file, import the necessary classes:

import 'package:nyx_printer/nyx_printer.dart';

Usage

Below is an overview of how to use the NyxPrinter package:

  1. Get Printer Version

Use the getVersion method to retrieve the printer's version number. A successful result will return 0.

int? version = await NyxPrinter().getVersion();

  1. Print Text

To print text with specific formatting, use the printText method. You can optionally provide a NyxTextFormat object to define the text style, alignment, size, and more.

int? result = await NyxPrinter().printText( "Hello, World!", textFormat: NyxTextFormat( textSize: 20, style: NyxFontStyle.bold, align: NyxAlign.center ) );

  1. Print Barcode

To print a barcode, use the printBarcode method. You can set the barcode's width and height.

int? result = await NyxPrinter().printBarcode( "1234567890", width: 400, height: 200 );

  1. Print QR Code

To print a QR code, use the printQrCode method. Like the barcode, you can adjust the width and height of the QR code.

int? result = await NyxPrinter().printQrCode( "https://flutter.dev", width: 300, height: 300 );

  1. Print Image

To print an image, convert your image to a Uint8List (PNG format), and pass it to the printImage method.

Uint8List imageBytes = await getImageBytes(); // Retrieve your PNG image as bytes int? result = await NyxPrinter().printImage(imageBytes);

NyxTextFormat

The NyxTextFormat class provides options for formatting text that is printed.

Properties:

  • textSize: Defines the font size (default is 24).
  • underline: Specifies if the text should be underlined (default is false).
  • textScaleX: Horizontal text scaling (default is 1.0).
  • textScaleY: Vertical text scaling (default is 1.0).
  • letterSpacing: Defines the spacing between letters (default is 0).
  • lineSpacing: Defines the spacing between lines (default is 0).
  • topPadding: Padding at the top (default is 0).
  • leftPadding: Padding on the left (default is 0).
  • align: Text alignment, can be left, center, or right (default is left).
  • style: Font style, can be normal, bold, italic, or boldItalic (default is normal).
  • font: Font family, can be defaultFont, defaultBold, sansSerif, serif, or monospace (default is defaultFont).

Example:

NyxTextFormat( textSize: 30, underline: true, textScaleX: 1.5, textScaleY: 1.5, align: NyxAlign.center );

Methods:

The NyxTextFormat class provides the toMap method to convert the formatting options into a Map<String, dynamic>, which can be passed to platform-specific code.

Map<String, dynamic> formatMap = textFormat.toMap();

Enumerations

NyxFontStyle

Defines the style of the font:

  • normal: Regular text.
  • bold: Bold text.
  • italic: Italic text.
  • boldItalic: Bold and italic text.

NyxFont

Defines the font family:

  • defaultFont: The default font.
  • defaultBold: Bold default font.
  • sansSerif: Sans-serif font.
  • serif: Serif font.
  • monospace: Monospace font.

NyxAlign

Defines text alignment:

  • left: Left-aligned text.
  • center: Center-aligned text.
  • right: Right-aligned text.

Error Handling

If any operation fails, the Future<int?> will return a non-zero error code. Ensure you handle errors appropriately.

Example Error Handling:

int? result = await NyxPrinter().printText("Sample Text"); if (result != 0) { print("Failed to print text, error code: $result"); } else { print("Text printed successfully"); }

Contribution

Feel free to fork the repository, submit issues, or pull requests. Contributions are welcome!

License

This package is open-source and available under the MIT License.

Based on https://github.com/yyzz2333/NyxPrinterClient

4
likes
0
points
23
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for integrating and controlling the Nyx printer (NB55 and T2 Pro models), enabling features like paper handling, printing status, and more.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on nyx_printer_v2