import 'dart:io'; import 'package:path_provider/path_provider.dart'; import 'package:pdf/widgets.dart' as pw; import 'package:pdf/pdf.dart'; import 'package:printing/printing.dart'; class PrintService { Future generateA5Pdf(String imagePath) async { final bytes = await File(imagePath).readAsBytes(); final image = pw.MemoryImage(bytes); final doc = pw.Document(); doc.addPage( pw.Page( pageFormat: PdfPageFormat.a5, margin: pw.EdgeInsets.zero, // ⬅️ NO PADDING build: (_) => pw.Image( image, fit: pw.BoxFit.cover, // ⬅️ FULL PAGE ), ), ); final dir = await getTemporaryDirectory(); final file = File('${dir.path}/photo_a5.pdf'); await file.writeAsBytes(await doc.save()); return file.path; } /// Share PDF ke app printer (USB / Wi-Fi) Future sharePdf(String pdfPath) async { final bytes = await File(pdfPath).readAsBytes(); await Printing.sharePdf(bytes: bytes, filename: 'photobooth_a5.pdf'); } }