如何在flutter中保存上次读取的pdf文件



我正在使用syncfusion_flag_pdfviewer包来读取pdf文件。一切都很好,但我想保存最后一次阅读,当用户进入第二天时,它将导致与昨天相同的页面。我该怎么试?

SfPdfViewer页面导航支持PdfPageChangedCallback来通知页面更改。

页面更改回调当页面在SfPdfViewer中发生更改时,onPageChanged回调将触发。

@override
Widget build(BuildContext context) {
return Scaffold(
body: SfPdfViewer.network(
'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
onPageChanged: (PdfPageChangedDetails details) {
print(details.newPageNumber);
print(details.isFirstPage);
},
));
}

syncfusiondfviewer

您可以在sharedpreference中保留回调中的页码。在应用程序关闭并重新打开或您的逻辑后,您检查共享首选项中的页码,并用页码JumptoPage该页面。_pdfViewerController.jumpToPage(pagenumber)

跳转到页面

late PdfViewerController _pdfViewerController;
@override
void initState() {
_pdfViewerController = PdfViewerController();
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Syncfusion Flutter PdfViewer'),
actions: <Widget>[
IconButton(
icon: Icon(
Icons.arrow_drop_down_circle,
color: Colors.white,
),
onPressed: () {
_pdfViewerController.jumpToPage(5);
},
),
],
),
body: SfPdfViewer.network(
'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
controller: _pdfViewerController,
),
);
}

最新更新