android开发分享Android App内文档展示方案整理

一、Word、Excel、PPT 展示 1. 微软Office公开Api接口 如果文档内容不是很机密或者只是需要实现预览文档的话,可以考虑使用微软的公共Api接口实现。 微软Office公开Api地址为:https://view.officeapps.live.com/op/view.aspx? 在 …


一、word、excel、ppt 展示

1. 微软office公开api接口

如果文档内容不是很机密或者只是需要实现预览文档的话,可以考虑使用微软的公共api接口实现。

微软office公开api地址为:https://view.officeapps.live.com/op/view.aspx?

在android上实现的方式如下:

首先拼接预览地址url:

https://view.officeapps.live.com/op/view.aspx?src=https://xxx.pptx

然后使用webview加载此url。推荐配置如下:

websettings settings = mwebview.getsettings();  settings.setcachemode(websettings.load_cache_else_network);  settings.setsaveformdata(true);  settings.setsavepassword(true);  settings.setusewideviewport(true);  settings.setloadwithoverviewmode(true);  settings.setjavascriptenabled(true);  settings.setjavascriptcanopenwindowsautomatically(true);  settings.setsupportzoom(true);    /*   * 支持https、http混合模式   * https://blog.csdn.net/qq_16472137/article/details/54346078   */  if (build.version.sdk_int >= build.version_codes.lollipop) {      settings.setmixedcontentmode(websettings.mixed_content_always_allow);  }    // 优先渲染界面  settings.setrenderpriority(websettings.renderpriority.high);    // technical settings  settings.setsupportmultiplewindows(true);    settings.setcachemode(websettings.load_default);  settings.setappcacheenabled(true);  settings.setdatabaseenabled(true);  settings.setdomstorageenabled(true);  settings.setappcachemaxsize(8 * 1024 * 1024); // 缓存最多可以有8m    /* 支持cookies 5.0以上的手机不支持自动同步第三方cookies   *(一般都是iframe里面的页面要存储cookies操作的设置)   * https://blog.sina.com.cn/s/blog_6e73239a0102viku.html   */  if (android.os.build.version.sdk_int >= build.version_codes.lollipop) {      cookiemanager.getinstance().setacceptthirdpartycookies(mwebview, true);  }    // webview 默认都是支持cookies  cookiemanager.getinstance().setacceptcookie(true);

注意:此使用方式是将文档的url拼接到连接上即可实现在线预览office文件,而不需要去下载文件。

但是有如下问题:

  • 若是使用微软的预览接口,你的文档url地址将会被暴露,缺失所谓文档的安全性。
  • 若文件过大时候,加载的速度很慢,有时候还加载不出来。

2. 使用文档浏览paas服务

服务代表为:腾讯tbs浏览服务(免费)、百度文档doc服务(收费)。

对应的地址:、https://cloud.baidu.com/doc/doc/s/hjwvypsgp

腾讯tbs需要我们自行实现文件下载,然后调用的方tbsreadview法进行加载。

存在的问题:

a). 加载功能不稳定,有的机型加载正常,有的机型加载存在问题。最常见的问题就是 not supported by:xxx ,此问题非常影响用户体验。

b). 如果没有安装腾讯系的产品,tbs服务是无法使用了,因为腾讯系的产品都是基于x5内核的,tbs服务也是基于x5内核。

百度doc服务不需要自行实现下载,逻辑相对简单,但是需要收费。

存在的问题:未知(// todo 目前还未做尝试接入的事情,后续接入体验后再整理 )

二、pdf 展示

1. 使用腾讯tbs服务

此方案基本和office文件加载的方案一样,至于存在的问题也是一样的。这里就多赘述了。

2. androidpdfviewer

开源项目地址:https://github.com/barteksc/androidpdfviewer

开发参考文章:https://www.cnblogs.com/qixingchao/p/11658226.html

3. pdfviewpager

开源项目地址:https://github.com/voghdev/pdfviewpager

 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/addevelopment/900094.html

(0)
上一篇 2021年10月23日
下一篇 2021年10月23日

精彩推荐