Pub Version codecov GitHub branch checks state

使用此小部件,您可以显示一个带有字节或路径的PDF。

简介

此包是从flutter_pdfview (链接) endigo 分叉并从头开始重建的。

alh_pdf_view包还包括

  • 还显示带有字节的PDF
  • iOS的FitPolicy
  • Android端的某些模糊修复
  • 更多功能
  • Dart中编写的所有代码进行了测试

Android

  • 使用依赖项AndroidPdfViewer在Kotlin中实现,该依赖项由barteksc提供

iOS

  • 使用依赖项PDFKit在Swift中实现

示例


import 'package:alh_pdf_view/lib.dart';
import 'package:flutter/material.dart';

class AlhPdfViewExample extends StatelessWidget {
  const AlhPdfViewExample({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('PDF Example')),
      body: const AlhPdfView(
        filePath: 'ADD_PATH_TO_FILE',
      ),
    );
  }
}

参数

这是可用于此小部件的所有参数的列表。请注意,某些参数仅适用于一个平台。

参数 描述 默认值
文件路径 加载PDF文件的可选路径。
bytes 加载PDF文件的可选字节。
fitPolicy 定义PDF如何在小部件内进行拟合。 FitPolicy.both
fitEachPage PDF的每一页都将拟合到给定的空间内。
enableSwipe 通过滑动更改当前页面。
swipeHorizontal 如果为true,所有页面将以水平方向显示。
nightMode 反转页面颜色以获得黑暗模式的外观。(仅限Android)
autoSpacing 如果为true,将添加间距以使每页独自分配到屏幕上。(仅限Android)
pageFling 实现翻页效果。
pageSnap 更改当前页面时,将页面吸附到屏幕边界。(仅限Android)
defaultPage 描述了应首先显示哪个页面。 0
defaultZoomFactor 定义渲染时显示的PDF页面应放大多少。 1.0
backgroundColor 设置PDF视图周围剩余空间的背景颜色。 Colors.transparent
password 使用此密码解锁PDF页面。 ""
enableDoubleTap 双击时,页面的缩放会改变。(仅限Android) 1.0
defaultZoomFactor 定义渲染时显示的PDF页面应放大多少。 1.0
defaultZoomFactor 定义渲染时显示的PDF页面应放大多少。 1.0

这是功能性参数的列表。

参数 描述 默认值
gestureRecognizers 应由PDF视图使用的手势。
onViewCreated 如果不为null,则在原生视图创建后调用。
onRender PDF页面加载后回调。
onPageChanged 更改页面时,将使用新页面调用此方法。
onZoomChanged 更改缩放时调用。
onError 发生错误时,此方法将返回一条消息。
onPageError 页面出现特定错误时调用。(仅限Android)

AlhPdfViewController

如果要为显示的PDF文件启动特定操作,可以使用AlhPdfViewController。此控制器包含一些更新视图的功能。以下是它们列表。

参数 描述
getPageSize 返回给定[page]索引的大小。(仅限iOS)
getPageCount 返回PDF的页数。
getCurrentPage 返回当前显示的页面。
setPage 跳转到页面,无动画。
setPageWithAnimation 带有动画跳转到页面。(仅限Android)
resetZoom 将缩放因子重置为默认缩放因子。
setZoom 缩放到给定的缩放。
getZoom 返回当前的缩放值。

GitHub

查看 Github