更新记录

1.1.1(2023-05-17)

本次更新后本插件包含两种预览方案, 1、腾讯TBS预览方案。 2、免费预览方案。

注意:注意:注意(本次更新删除了旧的tbs预览方案,减小了插件包体积)

1.1.0(2023-04-23)

因2023年4月13日零时起,腾讯内核文档能力正式下线,因此本次更新是根据腾讯浏览服务最新文档封装,请老用户尽快更新插件使用方式,以免影响文件在线预览功能

1.0.9(2023-04-21)

新增结果回调函数、新增以json格式传参打开文件的函数、插件文档优化

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 11.0 armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


office文件在线预览,支持pdf/word文档/excel表格/ppt的在线预览,提供两种预览方案

  • 提供两种可选的在线预览方案(腾讯TBS方案、免费在线预览方案),支持Android平台使用

    (如有疑问请QQ:1052775690 咨询,因为不常在插件市场,不能即时查看消息)

    特别提醒:

    注意:注意:注意(本次更新删除了旧的tbs预览方案,减小了插件包体积)
    
    本次更新后本插件包含两种预览方案:
    1、腾讯TBS预览方案,需购买腾讯licenseKey(特点:腾讯付费预览,支持在线/本地文档预览)
    腾讯文档地址(https://cloud.tencent.com/document/product/1645/83895)
    
    2、免费预览方案,无第三方收费,使用插件可直接预览(特点:免费,只支持在线文档预览,不支持本地文档预览)
    (【免费预览方案】对于需要鉴权的在线文档可能不适用,会继续研究优化更新)

    插件简要说明:

    腾讯TBS预览方案说明:
    1、插件支持本地文件路径预览和在线文档预览;
    2、在线文档预览需保证传递的在线文件链接可正常访问;
    3、需购买腾讯licenseKey,腾讯文档地址(https://cloud.tencent.com/document/product/1645/83895)。
    
    免费预览方案说明:(对于需要鉴权的在线文档可能不适用,会继续研究优化更新)
    1、只支持在线文档预览,不支持本地文档预览;
    2、无第三方收费。
  • 函数说明

    序号 函数名称 函数说明
    1 addCallback(function callback) 添加结果回调
    2 openFileByLicenseKey(String json) 打开文件(TBS方案),详见下方说明
    3 openOnlineDocument(String json) 打开文件(免费方案),详见下方说明
  • addCallback(callback)函数参数说明

    文件预览结果回调,在预览页面返回时,回调函数结果示例如下:
    
    {
        "params":{
            "file":"http:\/\/storage.xuetangx.com\/public_assets\/xuetangx\/PDF\/PlayerAPI_v1.0.6.pdf",
            "fileName":"PDF测试文件预览.pdf",
            "manualLoadTbs":true,
            "navTitle":"PDF测试文件预览"
        },
        "previewFilePath":"\/storage\/emulated\/0\/Android\/data\/com.test.exit\/cache\/filePreview\/files\/PDF测试文件预览.pdf"
    }
    
    字段说明:
    params--->该字段为调用openXXX函数时传递到插件的参数;
    previewFilePath--->该字段为保存的预览文件地址
  • openFileByLicenseKey(String json)

    该函数为使用腾讯TBS预览方案
    json参数格式说明:
     {
        file:url,//文件地址,可以是本地文件地址 也可以是 http/https地址
        navTitle:'PDF测试文件预览',//预览页面顶部导航栏显示的标题
        fileName:'PDF测试文件预览.pdf',//保存的文件名(如果文件地址为http/https时最好必传),file为本地文件地址时,该参数无用
        licenseKey:''//在腾讯浏览服务控制台申请的licenseKey
     }
    
     特别说明:获取腾讯浏览服务licenseKey请参考腾讯文档:
        https://cloud.tencent.com/document/product/1645/83895
  • openOnlineDocument(String json)

    该函数为免费在线预览方案 (对于需要鉴权的在线文档可能不适用,会继续研究优化更新)
    json参数格式说明:
    {
        fileUrl:'http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf',
        fileType:'pdf',//文件类型,必传参数
        navTitle:'测试在线文档预览',//预览页面顶部显示的标题
        navMode:2 //1-禁用(不显示顶部导航栏)、2-固定显示在顶部(为默认值)、3-页面上滑隐藏,页面下滑显示
    }
  • 使用示例

    <template>
        <view class="uni-column">
            <button @click="testNewMode()">打开文档新方式测试</button>
            <button @click="testNewModeHttp()">打开文档新方式测试(HTTP)</button>
    
            <button @click="openOnlineDocument('pdf',2)">pdf预览</button>
            <button @click="openOnlineDocument('docx',3)">word预览</button>
            <button @click="openOnlineDocument('xlsx',2)">excel预览</button>
            <button @click="openOnlineDocument('pptx',1)">ppt预览</button>
    
        </view>
    </template>
    
    <script>
        const openFileModule = uni.requireNativePlugin("jushi-FilePreview")
        export default {
            data() {
                return {
    
                }
            },
            methods: {
                testNewMode() {
                    let url = 'http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf'
                    openFileModule.addCallback(res => {
                        console.log('回调结果:' + res)
                    })
                    uni.downloadFile({
                        url: url,
                        success: function(res) {
                            if (uni.getSystemInfoSync().platform == 'android') {
                                openFileModule.openFileByLicenseKey({
                                    file: plus.io.convertLocalFileSystemURL(res
                                    .tempFilePath), //文件地址,可以是本地文件地址 也可以是 http/https地址
                                    navTitle: 'PDF测试文件预览', //预览页面顶部导航栏显示的标题
                                    fileName: 'PDF测试文件预览.pdf', //保存的文件名(如果文件地址为http/https时最好必传),file为本地文件地址时,该参数无用
                                    licenseKey: 'xxxxxxxx' //在腾讯浏览服务控制台申请的licenseKey
                                });
                            }
                        }
                    });
                },
                testNewModeHttp() {
                    let url = 'http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf'
                    openFileModule.addCallback(res => {
                        console.log('回调结果:' + res)
                    })
                    if (uni.getSystemInfoSync().platform == 'android') {
                        openFileModule.openFileByLicenseKey({
                            file: url, //文件地址,可以是本地文件地址 也可以是 http/https地址
                            navTitle: 'PDF测试文件预览', //预览页面顶部导航栏显示的标题
                            fileName: 'PDF测试文件预览.pdf', //保存的文件名(如果文件地址为http/https时最好必传),file为本地文件地址时,该参数无用
                            licenseKey: 'xxxxxxxx' //在腾讯浏览服务控制台申请的licenseKey
                        });
                    }
                },
                openOnlineDocument(type,navMode) { //打开在线文档,该方式只支持在线文档,不支持本地文档预览
                    openFileModule.addCallback(res => {
                        console.log('回调结果:' + res)
                    })
                    openFileModule.openOnlineDocument({
                        fileUrl:this.getFileUrl(type),
                        fileType:type,
                        navTitle:'测试在线文档预览',
                        navMode:navMode//1-禁用(不显示顶部导航栏)、2-固定显示在顶部(为默认值)、3-页面上滑隐藏,页面下滑显示
                    })
                },
                getFileUrl(type){
                    switch (type) {
                        case 'pptx':
                        case 'ppt':
                            return 'http://xxx.xxx.xxx/test.pptx'
                        case 'docx':
                        case 'doc':
                            return 'http://xxx.xxx.xxx/manual.docx'
                        case 'xlsx':
                        case 'xls':
                            return 'http://xxx.xxx.xxx/test.xlsx'
                        case 'pdf':
                            return 'http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf'
                        default:
                            return ''
                    }
                }
            }
        }
    </script>
    
    <style>
        .uni-column {
            display: flex;
            flex-direction: column;
        }
    
        button {
            margin: 20rpx;
        }
    </style>
  • 备注

    欢迎来邮件咨询和讨论,邮箱:1052775690@qq.com
  • 示例应用下载

    扫码下载体验

    其它插件

    安卓原生插件

  • 文件在线预览

  • 银联支付线上收银台(通用版) 封装

  • 阿里云RTC音视频通话

  • 权限请求

  • 文字转语音

  • MQTT连接

  • 获取手机通讯录联系人

  • 快捷工具悬浮窗

  • 日历日程事件

  • 获取本地音频文件信息

  • 根据经纬度获取位置信息

  • WebSocket连接

  • 高德地图封装安卓原生地图扩展组件

  • 使用ECharts封装的安卓原生扩展组件

  • 给图片添加水印

  • 自定义通知栏通知

    UTS插件

  • 安卓权限请求UTS插件

  • 安卓文字转语音UTS插件

  • 安卓获取音频文件UTS插件

    前端插件

  • ECharts封装全端通用组件

  • 图片添加水印,支持微信小程序、H5

  • 手写签名、电子签名组件

隐私、权限声明

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

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" />

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

插件基于腾讯TBS开发的文件预览功能 没有采集数据,TBS参考https://cloud.tencent.com/document/product/1645/83900

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

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问