| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import 'dart:developer';
- import 'dart:io';
- import 'package:flutter/material.dart';
- import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
- class PdfPage extends StatelessWidget {
- PdfPage({super.key, required this.params});
- final PdfPageParams params;
- final GlobalKey<SfPdfViewerState> _pdfViewerKey = GlobalKey();
- @override
- Widget build(BuildContext context) {
- log(params.file, name: "PdfPage");
- return Scaffold(
- appBar: AppBar(
- title: Text(params.title),
- actions: [
- IconButton(
- onPressed: () {
- _pdfViewerKey.currentState?.openBookmarkView();
- },
- icon: Icon(Icons.bookmark_add)),
- ],
- ),
- body: SfPdfViewer.file(
- key: _pdfViewerKey,
- File(params.file),
- // canShowPageLoadingIndicator: true,
- canShowScrollHead: true,
- canShowScrollStatus: true,
- enableDoubleTapZooming: true,
- initialZoomLevel: params.initialZoom,
- // maxZoomLevel: 6,
- ),
- bottomNavigationBar: (params.bottom == null)
- ? null
- : Padding(
- padding: const EdgeInsets.all(8.0),
- child: params.bottom,
- ),
- );
- }
- }
- class PdfPageParams {
- const PdfPageParams(
- {required this.file,
- required this.title,
- this.bottom,
- this.initialZoom = 3});
- final String title;
- final String file;
- final Widget? bottom;
- final double initialZoom;
- }
|