From ceab3e00f36ee1c058cd8e7ffabcbffa4c79b1c7 Mon Sep 17 00:00:00 2001 From: yaso Date: Wed, 2 Oct 2024 16:18:09 +0200 Subject: [PATCH] add print preview page --- .../mih_layout/mih_print_prevew.dart | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Frontend/patient_manager/lib/mih_components/mih_layout/mih_print_prevew.dart diff --git a/Frontend/patient_manager/lib/mih_components/mih_layout/mih_print_prevew.dart b/Frontend/patient_manager/lib/mih_components/mih_layout/mih_print_prevew.dart new file mode 100644 index 00000000..7ad5fa1c --- /dev/null +++ b/Frontend/patient_manager/lib/mih_components/mih_layout/mih_print_prevew.dart @@ -0,0 +1,52 @@ +import 'package:flutter/material.dart'; +import 'package:patient_manager/mih_components/mih_layout/mih_action.dart'; +import 'package:patient_manager/mih_components/mih_pop_up_messages/mih_loading_circle.dart'; +import 'package:patient_manager/mih_objects/arguments.dart'; +import 'package:pdf/pdf.dart'; +import 'package:printing/printing.dart'; + +class MIHPrintPreview extends StatefulWidget { + final PrintPreviewArguments arguments; + const MIHPrintPreview({ + super.key, + required this.arguments, + }); + + @override + State createState() => _MIHPrintPreviewState(); +} + +class _MIHPrintPreviewState extends State { + MIHAction getActionButton() { + return MIHAction( + icon: const Icon( + Icons.close, + ), + iconSize: 35, + onTap: () { + Navigator.pop(context); + }, + ); + } + + @override + void dispose() { + super.dispose(); + } + + @override + void initState() { + super.initState(); + } + + @override + Widget build(BuildContext context) { + return PdfPreview( + pdfFileName: widget.arguments.fileName, + initialPageFormat: PdfPageFormat.a4, + loadingWidget: const Mihloadingcircle(), + actions: [getActionButton()], + build: (format) => widget.arguments.pdfData, + ); + } +}