更新记录

0.1.0(2026-11-13)

  • 首版支持 Android 本地绝对路径、已授权 SAF URI 和 HTTPS PDF 预览。
  • 提供翻页、1~3 倍缩放、主动分享及明确错误回调。
  • 网络文件和分享文件放在应用私有缓存,不申请全盘存储权限。

平台兼容性

uni-app x(5.24)

Chrome Safari Android iOS 鸿蒙 微信小程序
× × 7.0 × × ×

其他

多语言 暗黑模式 宽屏模式 蒸汽模式
× × × √

Android PDF 预览

本插件用于 Android 应用内预览 PDF,支持本机绝对路径、已获授权的 content:// 文件和 HTTPS 地址。阅读页提供上一页、下一页、1~3 倍缩放和系统分享。网络文件下载到应用私有缓存后打开;所有来源的文件大小上限为 25 MB。

接入与使用

将 uni_modules/android-pdf-preview/ 导入 uni-app x 项目,制作包含本插件的自定义基座后调用:

import { openAndroidPdfPreview } from '@/uni_modules/android-pdf-preview'

openAndroidPdfPreview({
  source: 'https://example.com/document.pdf',
  title: '合同预览',
  onReady: (result) => {
    console.log(result.pageCount, result.bytes)
  },
  onError: (message) => {
    console.error(message)
  },
  onClosed: () => {
    console.log('预览已关闭')
  }
})

source 必填。content:// 地址必须由宿主通过 Android SAF 等方式获得读取授权;本插件不会替宿主发起系统文件选择。网络地址只接受 HTTPS,最多跟随 3 次重定向,每次连接和读取超时为 15 秒。HTTP 地址、空文件、超过 25 MB 的文件、损坏 PDF 和无法读取的来源会触发 onError。密码 PDF 暂不支持;iOS 和鸿蒙未实现。

成功打开文档后触发 onReady,返回页数和实际读取字节数。用户关闭阅读页后触发 onClosed。分享只在用户点击“分享”后通过系统选择器发送缓存文件,并临时授予目标应用读取权限。缓存可能由 Android 清理,不应保存为长期业务文件。插件不申请全盘存储权限。

当前已通过 Android 核心单测、HBuilderX 5.34 的 uni-app x 编译,并在 MuMu Android 12 的通用宿主 1.1.1 正式 APK 验证本地、SAF、HTTPS 打开、损坏文件错误、翻页缩放与分享接收器读取 180,442 B。uni-app Vue 3、实体手机和厂商系统仍未验证。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

HTTPS PDF 下载需要 Android INTERNET 权限。本地文件通过应用已可读取的路径访问,SAF URI 由宿主应用取得用户授权;插件不申请 READ_EXTERNAL_STORAGE、WRITE_EXTERNAL_STORAGE 或 MANAGE_EXTERNAL_STORAGE。分享时仅向接收应用临时授予缓存文件的读取权限。

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

PDF 由宿主应用提供本地文件、已授权 SAF URI 或 HTTPS 地址。插件在当前设备上复制或下载到应用私有缓存,用于预览和用户主动分享;不会将 PDF 或用户数据上传到开发者服务器。网络 PDF 请求直接发送至宿主提供的 HTTPS 地址。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

暂无用户评论。