Eseguire una stampa con Flutter
Per Flutter abbiamo il package printing che ci permette di eseguire una stampa attraverso le stampanti compatibili con il dispositivo che si sta usando.
Io l'ho testata su Android e Windows 10.
Per usarlo possiamo aggiungere questa dipendenza al file pubspec.yaml:
dependencies:
printing: ^5.10.1
Questa versione richiede Flutter 3.7.0, quindi assicuratevi di aver aggiornato il flutter-sdk.
Detto ciò qui sotto un esempio per cominciare:
import 'package:flutter/material.dart';
import 'package:pdf/pdf.dart';
import 'package:pdf/widgets.dart' as pw;
import 'package:printing/printing.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Test',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const MyHomePage(title: 'Flutter Test'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Stack(
children: <Widget>[
ElevatedButton(
onPressed: () async {
final doc = pw.Document();
doc.addPage(
pw.Page(
pageFormat: PdfPageFormat.a4,
build: (pw.Context context) {
return pw.Center(
child: pw.Text('CIAO!!'),
);
},
),
); // Page
await Printing.layoutPdf(
onLayout: (PdfPageFormat format) async => doc.save());
},
child: const Text('PRESS'),
),
],
),
);
}
}
Come potete vedere dalla documentazione, volendo possiamo anche stampare immagini, o salvare i PDF.
Enjoy!
dart flutter printing pdf
Commentami!