// import 'package:flutter/material.dart'; // import 'package:flutter_pdfview/flutter_pdfview.dart'; // import 'package:permission_handler/permission_handler.dart'; // import 'package:open_file/open_file.dart'; // import 'package:path_provider/path_provider.dart'; // import 'dart:io'; // class PdfViewerPage extends StatefulWidget { // final String filePath; // final String fileName; // const PdfViewerPage( // {Key? key, required this.filePath, required this.fileName}) // : super(key: key); // @override // _PdfViewerPageState createState() => _PdfViewerPageState(); // } // class _PdfViewerPageState extends State { // late PDFViewController _pdfViewController; // int? pages; // int? currentPage; // bool isReady = false; // String errorMessage = ''; // @override // Widget build(BuildContext context) { // return Scaffold( // appBar: AppBar( // title: const Text("Visualizador de PDF"), // actions: [ // IconButton( // icon: Icon(Icons.download), // onPressed: _downloadPdf, // ), // ], // ), // body: Stack( // children: [ // PDFView( // filePath: widget.filePath, // enableSwipe: true, // swipeHorizontal: true, // autoSpacing: false, // pageFling: false, // onRender: (_pages) { // setState(() { // pages = _pages; // isReady = true; // }); // }, // onError: (error) { // setState(() { // errorMessage = error.toString(); // }); // print(error.toString()); // }, // onPageError: (page, error) { // setState(() { // errorMessage = '$page: ${error.toString()}'; // }); // print('$page: ${error.toString()}'); // }, // onViewCreated: (PDFViewController pdfViewController) { // _pdfViewController = pdfViewController; // }, // onPageChanged: (int? page, int? total) { // print('page change: $page/$total'); // setState(() { // currentPage = page; // }); // }, // ), // errorMessage.isEmpty // ? !isReady // ? Center( // child: CircularProgressIndicator(), // ) // : Container() // : Center( // child: Text(errorMessage), // ) // ], // ), // ); // } // Future _downloadPdf() async { // try { // if (await Permission.storage.request().isGranted) { // final directory = await getExternalStorageDirectory(); // if (directory != null) { // final filePath = '${directory.path}/${widget.fileName}'; // final file = File(filePath); // await file.writeAsBytes(await File(widget.filePath).readAsBytes()); // ScaffoldMessenger.of(context).showSnackBar( // SnackBar(content: Text('Archivo guardado en $filePath')), // ); // OpenFile.open(filePath); // } // } else { // ScaffoldMessenger.of(context).showSnackBar( // SnackBar(content: Text('Permisos de almacenamiento denegados')), // ); // } // } catch (e) { // ScaffoldMessenger.of(context).showSnackBar( // SnackBar(content: Text('Error al descargar el archivo: $e')), // ); // } // } // }