高级 PDF 查看器
一个用于处理 PDF 文件的 Flutter 插件。同时支持 Android 和 iOS。最初是从 (https://github.com/CrossPT/flutter_plugin_pdf_viewer) 分叉而来。
安装
将 _advance_pdf_viewer_ 添加为依赖项到 你的 pubspec.yaml 文件。
advance_pdf_viewer: any
Android
无需权限。使用应用程序缓存目录。
iOS
无需权限。
如何操作
加载 PDF
// Load from assets
PDFDocument doc = await PDFDocument.fromAsset('assets/test.pdf');
// Load from URL
PDFDocument doc = await PDFDocument.fromURL('http://www.africau.edu/images/default/sample.pdf');
// Load from file
File file = File('...');
PDFDocument doc = await PDFDocument.fromFile(file);
加载页面
// Load specific page
PDFPage pageOne = await doc.get(page: _number);
预构建的查看器
使用预构建的 PDF 查看器
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Example'),
),
body: Center(
child: _isLoading
? Center(child: CircularProgressIndicator())
: PDFViewer(document: document)),
);
}
此代码将生成以下视图
待办事项
- 允许密码保护的文件
重构 PDFDocument.getAll() 方法提高页面分辨率添加滑动切换页面
使用的第三方软件包
| 名称 | 描述 |
|---|---|
| path_provider | 一个 Flutter 插件,用于在文件系统中查找常用位置。支持 iOS 和 Android。 |
| flutter_cache_manager | 一个 CacheManager,用于在应用的缓存目录中下载和缓存文件。可以更改文件保留时长等各种设置。 |
| numberpicker | NumberPicker 是一个自定义小部件,用于通过滚动微调器来选择整数或小数。 |
| flutter_advanced_networkimage | 一个高级图像提供程序,为 Flutter 应用提供缓存和重试功能。现在包含可缩放小部件以及过渡到图像小部件的功能。 |
