3import 'package:flutter/material.dart';
4import 'package:path_provider/path_provider.dart';
5import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
7import '../../../core/ui/theme/color_palette.dart';
8import '../../../core/ui/widgets/custom_scaffold.dart';
9import '../models/document_model.dart';
17 State<PDFViewerScreen>
createState() => _PDFViewerScreenState();
20class _PDFViewerScreenState
extends State<PDFViewerScreen> {
39 if (widget.document.attachmentDocument.isNotEmpty) {
40 final bytes = base64Decode(widget.document.attachmentDocument);
41 final dir = await getTemporaryDirectory();
42 final file = File(
'${dir.path}/${widget.document.pdfFileName}');
43 await file.writeAsBytes(bytes);
64 Widget
build(BuildContext context) {
65 return CustomScaffold(
66 title: widget.document.name,
69 child: CircularProgressIndicator(
87 return SfPdfViewer.file(
89 canShowScrollHead:
true,
90 canShowScrollStatus:
true,
91 enableDoubleTapZooming:
true,
92 onDocumentLoadFailed: (PdfDocumentLoadFailedDetails details) {
override void initState()
class App extends StatefulWidget build(BuildContext context)
Future< void > _loadPDF() async
class PDFViewerScreen extends StatefulWidget _pdfPath
style Text( '${ 'scheduling.reference'.tr()}:${collection.internalCode}', style:Theme.of(context).textTheme.bodySmall,)