更新记录

1.0.1(2026-03-31)

1.优化界面

1.0.0(2026-03-31)

1.安卓和iOS发布


平台兼容性

uni-app(4.19)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

why-file-reader 文档预览插件

App 端文档预览插件,支持本地/远程文件预览、水印、自定义导航栏、截屏控制,缓存大小和清理缓存。

快速开始

import { openDocumentPreview } from "@/uni_modules/why-file-reader"

openDocumentPreview({
  path: 'https://example.com/test.pdf',
  fileName: '企业介绍.pdf',
  fileType: 'pdf',
  allowScreenshot: false,
  navigationBar: {
    titleColor: '#FFFFFF',
    gradientStartColor: '#009144',
    gradientEndColor: '#005BAC'
  },
  watermark: {
    showText: '水印名称',
    size: 14,
    degree: 30,
    transparent: 55,
    color: '#b8b7b7',
    spacingX: 25,
    spacingY: 55
  },
  onPreviewSuccess: (res) => {
        console.log('预览成功==',res)
  },
  onPreviewExit: (res) => {
        console.log('退出预览==',res)
  }
})

参数说明

openDocumentPreview(options)

参数 必填 说明
path 文件路径,支持 /staticfile://http/https
fileName 建议传 文件名,远程地址场景尤其建议传入
fileType 建议传 文件类型,如 pdfdocxpptxtxt
allowScreenshot 是否允许截屏,默认 false
navigationBar 导航栏配置,见下表
watermark 水印配置,不传则不显示水印,见下表

navigationBar

参数 说明 默认值
backgroundColor 导航栏纯色背景 #FFFFFF
titleColor 标题和返回箭头颜色 #000000
gradientStartColor 渐变起始色
gradientEndColor 渐变结束色

同时传 gradientStartColorgradientEndColor 时优先使用渐变背景,否则使用 backgroundColor

watermark

参数 必填 说明 默认值
showText 水印内容,支持 \n 换行
size 字号 12
degree 旋转角度,-90 ~ 90 30
transparent 透明度,0 ~ 100 40
color 颜色 #b8b7b7
spacingX 横向间距 30
spacingY 纵向间距 80

缓存管理

插件预览远程文件时会自动下载到本地缓存,提供以下两个方法管理缓存。

getPreviewCacheSize(callback)

获取预览缓存总大小,单位 MB。

import { getPreviewCacheSize } from "@/uni_modules/why-file-reader"

getPreviewCacheSize((res) => {
  console.log(`缓存大小:${res.size} MB`)  // 例如 12.35
})

clearPreviewCache(callback)

清理所有预览缓存文件。

import { clearPreviewCache } from "@/uni_modules/why-file-reader"

clearPreviewCache((res) => {
  console.log(res.errMsg)  // clearPreviewCache:ok
})

注意事项

  • 建议始终传 fileNamefileType,避免远程地址识别不准
  • allowScreenshot 默认 false,需要截屏请显式传 true
  • 水印至少需要传 showText
  • 记录预览时间,可在两个回调中处理
  • 问题联系Q:1-0-7-2-8-1-0-1-6-4

隐私、权限声明

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

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

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

暂无用户评论。