插件介绍
pdf_viewer_plugin 是一个简单易用的 PDF 查看器插件,支持在多个平台上显示 PDF 文件。该插件为自定义修改版本,已适配 HarmonyOS 平台,确保在鸿蒙设备上稳定运行。
主要功能特点:
- 支持本地 PDF 文件查看
- 提供简单的 PDF 显示接口
- 支持手势操作
- 跨平台兼容性,包括 iOS、Android 和 HarmonyOS
安装与配置
依赖配置
在引用的项目中,pubspec.yaml 中 dependencies 新增配置:
dependencies:
pdf_viewer_plugin:
git:
url: "https://atomgit.com/"
path: "fluttertpc_pdf_viewer_plugin-master"
执行命令安装依赖:
flutter pub get
权限配置
该插件需要访问本地文件权限,确保在 module.json5 中正确配置相关权限。
API 使用示例
导入插件
import 'package:pdf_viewer_plugin/pdf_viewer_plugin.dart';
基本使用方式
class PdfApp extends StatelessWidget {
const PdfApp({Key? key}) : super(key: key);
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('PDF Viewer'),
),
body: PdfView(path: '/path/to/your/pdf/file.pdf'),
),
);
}
}
自定义手势识别器
PdfView(
path: '/path/to/your/pdf/file.pdf',
gestureRecognizers: Set()
..add(Factory<VerticalDragGestureRecognizer>(() => VerticalDragGestureRecognizer())),
)
完整示例
import 'package:flutter/material.dart';
import 'package:pdf_viewer_plugin/pdf_viewer_plugin.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
Widget build(BuildContext context) {
return MaterialApp(
title: 'PDF Viewer Plugin Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const HomePage(),
);
}
}
class HomePage extends StatelessWidget {
const HomePage({Key? key}) : super(key: key);
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('PDF Viewer'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => const PdfViewerPage(),
),
);
},
child: const Text('Open PDF'),
),
),
);
}
}
class PdfViewerPage extends StatelessWidget {
const PdfViewerPage({Key? key}) : super(key: key);
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('PDF Document'),
),
body: const PdfView(
path: '/sdcard/example.pdf',
),
);
}
}
API 说明
PdfView 属性
| 属性名称 | 类型 | 描述 | HarmonyOS 支持 |
|---|---|---|---|
| path | String | PDF 文件路径 | ✅ |
| gestureRecognizers | Set<Factory>? | 手势集合,用于自定义手势识别 | ✅ |
| gestureNavigationEnabled | double? | 水平滑动手势是否触发前后导航(仅适用于 iOS) | ❌ |
约束与限制
兼容性
在以下版本中已测试通过:
- Flutter: 3.7.12-ohos-1.1.3; SDK: 5.0.0(12); IDE: DevEco Studio: 5.1.0.828; ROM: 5.1.0.130 SP8
- Flutter: 3.22.1-ohos-1.0.3; SDK: 5.0.0(12); IDE: DevEco Studio: 5.1.0.828; ROM: 5.1.0.130 SP8
注意事项
- 确保 PDF 文件路径正确,并且应用具有访问该文件的权限
- 对于大型 PDF 文件,可能需要优化加载方式以避免性能问题
- 该插件仅支持显示 PDF 文件,不支持编辑或其他高级操作
总结
pdf_viewer_plugin 是一个轻量级的 PDF 查看器插件,为开发者提供了简单的方式在 HarmonyOS 应用中显示 PDF 文件。通过简洁的 API 设计,开发者可以快速集成 PDF 查看功能,满足基本的文档展示需求。虽然功能相对基础,但对于大多数应用场景来说已经足够。
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.youkuaiyun.com
3486

被折叠的 条评论
为什么被折叠?



