pos_printer_d 1.0.1 copy "pos_printer_d: ^1.0.1" to clipboard
pos_printer_d: ^1.0.1 copied to clipboard

A clean Flutter plugin for POS thermal printers. Supports Bluetooth, USB, and Network (TCP) connections with a simple unified API.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:pos_printer_d/pos_printer_d.dart';
import 'package:pos_printer_example/printer/screen/printer_setting_screen.dart';
import 'package:pos_printer_example/printer/service/printer_local_service.dart';
import 'package:pos_printer_example/printer/service/printer_repository.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // Initialize dependencies
  final prefs = await SharedPreferences.getInstance();
  final repository = PrinterRepository(prefs);
  final printerService = PrinterService.instance;
  final localService = PrinterLocalService(
    printerService: printerService,
    repository: repository,
  );

  runApp(PrinterExampleApp(printerService: localService));
}

/// Provider for PrinterLocalService
class PrinterServiceProvider extends InheritedWidget {
  final PrinterLocalService service;

  const PrinterServiceProvider({
    super.key,
    required this.service,
    required super.child,
  });

  static PrinterLocalService of(BuildContext context) {
    final provider =
        context.dependOnInheritedWidgetOfExactType<PrinterServiceProvider>();
    assert(provider != null, 'No PrinterServiceProvider found in context');
    return provider!.service;
  }

  @override
  bool updateShouldNotify(PrinterServiceProvider oldWidget) =>
      service != oldWidget.service;
}

class PrinterExampleApp extends StatelessWidget {
  final PrinterLocalService printerService;

  const PrinterExampleApp({super.key, required this.printerService});

  @override
  Widget build(BuildContext context) {
    return PrinterServiceProvider(
      service: printerService,
      child: MaterialApp(
        title: 'POS Printer Example',
        theme: ThemeData(
          colorScheme: ColorScheme.fromSeed(
              seedColor: const Color.fromARGB(255, 32, 37, 28)),
          useMaterial3: true,
        ),
        home: const PrinterSettingScreen(),
      ),
    );
  }
}
1
likes
0
points
92
downloads

Publisher

unverified uploader

Weekly Downloads

A clean Flutter plugin for POS thermal printers. Supports Bluetooth, USB, and Network (TCP) connections with a simple unified API.

Repository (GitHub)
View/report issues

Topics

#printer #pos #thermal-printer #bluetooth #esc-pos

License

unknown (license)

Dependencies

flutter, network_info_plus, rxdart

More

Packages that depend on pos_printer_d

Packages that implement pos_printer_d