更新记录

1.0.3(2026-06-11)

  1. 修复预览excel时高度撑开兼容性问题

1.0.2(2026-05-18)

  1. 优化鸿蒙

1.0.1(2026-05-16)

  • 支持预览pdf、word、excel、ppt、md、txt等文件
  • 支持本地文件和云端文件
  • 支持uniapp、uniapp-x
  • 支持自定义UI
  • 支持苹果、安卓、鸿蒙
查看更多

平台兼容性

uni-app(3.7.12)

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

uni-app x(3.7.12)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - 5.0 - -

其他

多语言 暗黑模式 宽屏模式

预览pdf、word、excel、ppt、md、txt、视频等文件,支持3端

功能介绍

  • 支持预览pdf、word、excel、ppt、md、txt、视频等文件
  • 支持本地文件和云端文件
  • 支持uniapp、uniapp-x
  • 支持自定义UI
  • 支持苹果、安卓、鸿蒙

集成步骤

  1. 拷贝demo里的AndroidManifest.xml、harmony-configs文件到项目根目录
  2. 本页面右上角可以点击"使用HBuilderX导入示例项目"下载demo,导入demo的时候选vue3,插件支持vue2和vue3
  3. 插件详细集成步骤可以参考https://www.jianshu.com/p/c1615a7880a7
  4. 如需定制或增加功能请点击插件标题下方的"进入交流群"私聊作者

组件

        <!--  #ifdef  APP-HARMONY -->
<embed :style="'width:'+width+'px;height:'+height+'px;'" tag="viewfile" :options="options"
    @onevent="onEvent"></embed>
<!--  #endif -->
<!--  #ifndef  APP-HARMONY -->
<wrs-uts-viewfile ref='videoplayer' :params="params" :style="'width:'+width+'px;height:'+height+'px;'"
    @onLoadView="onLoadView" @onEvent="onEvent"></wrs-uts-viewfile>
<!--  #endif -->
  • 使用了该组件的页面需要用nvue或uvue

  • 通过修改绑定的属性来切换预览文件

建议将云端文件下载到本地再渲染,方便控制云端文件的下载进度


let url = "http://www.xxxx" // 支持云端文件和本地文件(本地文件传文件的绝对路径,如/xxx/xxx/xxx.pdf)
let params = {}
params.businessArray = [{
    business: "renderFile", // 渲染文件业务
    params: {
        url: url
    }
}]
let paramsStr = JSON.stringify(params)
return {
    fileWebPath: fileWebPath,
    width: windowWidth,
    height: height,
    params: paramsStr,
    options: {
        params: paramsStr
    },
    title: 'Hello'
}
  • 事件
            onEvent(event) {
    console.log("onEvent:" + JSON.stringify(event))
    let detail = event.detail 
    let opt = detail.opt
    switch (opt){
        case "onRender":
        {
            console.log("渲染成功")
        }
            break;
        case "onError": {
            let msg = detail.msg 
            console.log("渲染失败")
        }
        default:
            break;
    }
},

隐私、权限声明

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

读写权限、网络权限

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

插件不采集任何数据

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