healthrian_printer_support 1.0.14 copy "healthrian_printer_support: ^1.0.14" to clipboard
healthrian_printer_support: ^1.0.14 copied to clipboard

PlatformAndroid
unlisted

This library for printing via USB on PCL-m printers (e.g., HP printers).

example/lib/main.dart

import 'dart:typed_data';

import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
import 'package:healthrian_printer_support/healthrian_printer_support.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final _printer = HealthrianPrinterSupport();

  List<Uint8List> _images = [];

  bool _lock = false;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: SafeArea(
        child: Scaffold(
          body: InkWell(
            onTap: () async {
              if (_lock) return;

              try {
                _lock = true;
                _images.clear();
                setState(() {});
                final result = await FilePicker.platform.pickFiles(
                  type: FileType.custom,
                  allowedExtensions: ['pdf'],
                  allowMultiple: false,
                );
                final path = result?.paths.singleOrNull;
                if (path == null) return;
                _images = await _printer.renderPdfToImages(path);
              } finally {
                _lock = false;
                setState(() {});
              }
            },
            child: Center(
              child: _images.isEmpty ? Text('Click to load PDF') : Image(image: MemoryImage(_images.first)),
            ),
          ),
          floatingActionButton: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              FloatingActionButton(
                onPressed: () async {
                  print(await _printer.isConnected());
                },
              ),
              FloatingActionButton(
                onPressed: () async {
                  if (_images.isEmpty) return;
                  _printer.requestImagePrint(_images);
                },
              ),
            ],
          ),
        ),
      ),
    );
  }
}
1
likes
130
points
77
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

This library for printing via USB on PCL-m printers (e.g., HP printers).

Repository (GitHub)

License

MIT (license)

Dependencies

archive, flutter, image, pdfx, plugin_platform_interface

More

Packages that depend on healthrian_printer_support

Packages that implement healthrian_printer_support