import 'dart:io'; import 'package:flutter/material.dart'; import 'package:pdf/pdf.dart'; import 'package:printing/printing.dart'; class PdfPreviewScreen extends StatelessWidget { const PdfPreviewScreen({ required this.pdfPath, required this.title, super.key, }); final String pdfPath; final String title; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('Informe PDF')), body: PdfPreview( build: (_) => File(pdfPath).readAsBytes(), initialPageFormat: PdfPageFormat.a4, pdfFileName: '$title.pdf', canChangeOrientation: false, canChangePageFormat: false, allowPrinting: true, allowSharing: true, loadingWidget: const Center(child: CircularProgressIndicator()), onError: (context, error) => Center( child: Padding( padding: const EdgeInsets.all(24), child: Text( 'No fue posible abrir el informe.\n$error', textAlign: TextAlign.center, ), ), ), ), ); } }