advance_pdf_viewer
一个用于处理PDF文件的Flutter插件。同时支持Android和iOS。最初是 https://github.com/CrossPT/flutter_plugin_pdf_viewer 的一个分支。
安装
在 你的pubspec.yaml文件 中将 advance_pdf_viewer 添加为依赖项。
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) {
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应用程序提供缓存和重试功能。现在还具有可缩放的小部件和到图像小部件的过渡。 |
