Android 和 IOS 办公文件 doc docx ppt pdf 支持离线
详细内容
Android 和 IOS 办公文件浏览查看器,支持无网络环境下使用
支持打开文件格式:[ doc,docx,ppt,pptx,xls,xlsx,txt,pdf ], 只支持打开本地的文件,在线的文件需要下载后才能打开。
实例化插件:
复制代码const open=uni.requireNativePlugin("Html5App-openFile");
安卓端内核下载失败建议
第一次使用时,可能出现的问题.
安卓端插件,使用的是腾讯浏览文件 X5 内核,应用在第一次安装打开时,需要在联网的状态下,内核会自动下载安装,内核大概30MB左右,需要一点时间来下载,如果出现内核安装不成功,可能是内核下载失败导致,或者可以使用手动安装的方式来安装内核。
第一次启动应用时,可以直接使用 openFile 打开文件,可能要等待内核下载完成,才能正常打开文件预览.
腾讯X5 内核 下载网址,不能保证链接一直可以,或者多人使用导致服务器缓慢或维护的问题,导致内核下载失败,你也可以下载内核下来放在你的服务器上作下载以备用。
复制代码https://tbs.imtt.qq.com/release/x5/tbs_core_045738_20210925205342_nolog_fs_obfs_armeabi_release.tbs
也可以下载内核下来,放进应用内一起打包,需要使用时安装,但是内核有30MB 大小,不太建议这样做,会增大apk 安装体积,不友好。
打开文件的方法, 使用无须用 isLoadTbs 来判断,直接使用 openFile 方法就可以,里面有检查并安装内核的方法, 除非失败了,可以使用手动下载内核。
复制代码 open.openFile({filename:filepath,isShowBackIcon:false},ret=>{
if(ret.code==-1) //文件浏览组件在加载中,请稍等
{
}
if(ret.code==-2) //文件浏览组件加载超时
{
}
if(ret.code==0) //打开文件成功
{
}
});
参数名 | 说明 |
---|---|
filename | 文件本地绝对路径 |
isShowBackIcon | 是否显示返回图标, 默认 ios 和 android 都可以右滑关掉页面 |
filename 参数:是文件的平台绝对路径,格式例如:
复制代码/storage/sdcard0/Android/data/io.dcloud.HBuilder/apps/HBuilder/doc/1.pdf
如果地址是以下这种相对地址的
复制代码_doc/download/06e43dddb107.pdf
就要使用 plus.io.convertLocalFileSystemURL(); 方法来转换下地址变成绝对路径, 例如:
复制代码 var filePath=plus.io.convertLocalFileSystemURL("_doc/download/06e43dddb107.pdf");
- 变成绝对路径才可以正常打开浏览文件
复制代码/storage/sdcard0/Android/data/io.dcloud.HBuilder/doc/download/06e43dddb107.pdf
手动安装本地 tbs 内核, 这个方法,一般在自动下载内核安装失败时,多次尝试都无法成功时,选择的备用方法。
- 方法仅支持安卓,要作系统的判断,避免在ios 系统中使用错误.
- tbsFilePath : 本地tbs 内核绝对平台路径
- isdelete : 安装内核成功时,是否删除掉tbs 原文件,true 或false 。
复制代码let path=plus.io.convertLocalFileSystemURL("static/tbs.tbs");
//安装本地tbs内核
open.installLocalTbs({
tbsFilePath:path,
isdelete:true
},function(e){
});
检查是否已安装体tbs 文件浏览内核
- 方法仅支持安卓,要作系统的判断,避免在ios 系统中使用错误.
- true : 已安装了,false : 未安装 ,
复制代码 let is=open.isLoadTbs();
安装本地tbs 浏览文件插件包, tbsplugins.zip 插件包在示例项目的static 文件夹下,有5.7MB 左右,如果非必要,不是纯离线环境,可以放在服务器上,需要时下载到本地,再安装,直接放在应用里,安装包apk 会增大。
- 如果在有网络的情况下,打开文件显示插件加载失败,可以使用本地包来安装。
- 建议在从未打开文件浏览之前就安装,如果之前打开过文件浏览显示插件加载失败,再安装,这时需要重启一下应用才生效。
- 安卓端有效。
复制代码 let path=plus.io.convertLocalFileSystemURL("static/tbsplugins.zip");
open.installPlug({filePath:path},ret=>{
uni.showToast({
title:ret.msg,
icon:"none"
});
});
重启应用
- 如果遇到安装本地插件包,打开还是显示加载插件失败,可以执行一次重启应用。
- 安卓端有效。
复制代码//重启app open.restartApp();
如需要把本地文件分享给其他好友,例如:QQ,微信 ,使用以下这个方法,这个方法只支持安卓
复制代码open.shareToFile({filename:filepath,title:"分享文件",fileType:"*/*"});
- filename => 文件路径
- title => 分享框上的文字提示
- fileType => 文件类型 , 默认 / ,代表所有文件,例如:image/*.
扫一扫下载安卓DEMO 示例 体验
加载更多