WebVie打开woffice文档

原文地址:https://blog.csdn.net/u011791526/article/details/73088768

1、调用第三方软件显示,这需要安卓机上安装了第三方的office软件,而且对于特别敏感的office文件,可能会泄露信息,不是特别安全

2、自己解析office文件并自定义控件显示,此方法避免了调用第三方office软件带来的麻烦,但是解析office文档是一项非常庞大的工作,其开发难度和复杂度类似于开发一个office app,如果只是作为项目的一个功能点,实在太过庞大。

3、将office文件转html格式,使用webview展示,还是同样的问题,office转html的工作太过复杂耗时,如果只是作为app的某一个功能点,可能会影响app本身的性能

http://blog.csdn.net/yjclsx/article/details/51441632

4、使用第三方的在线预览工具,该方法的解决方法是把想要解析的office文档url地址传递给第三方在线解析,然后使用webview显示即可,此方法对于app端来说确实非常有利,因为app端不需要自己进行任何解析,只是如果将自己文档的url交给第三方,依然存在安全问题

现附上两个在线预览office文档的地址:(浏览器都需要chrome的内核)

        1 google:https://docs.google.com/viewer?url=(输入你的文档在服务器中的地址);

        2 微软:https://view.officeapps.live.com/op/view.aspx?src=(输入你的文档在服务器中的地址);

调用

private void initView() {
    mWebview = (WebView) findViewById(R.id.webview);

    mWebview.setWebViewClient(new AppWebViewClients());
    mWebview.getSettings().setJavaScriptEnabled(true);
    mWebview.getSettings().setUseWideViewPort(true);

    mWebview.loadUrl("http://view.officeapps.live.com/op/view.aspx?src=http://e-learning.moe.edu.cn/upload/kindedit/file/201703/20170307_091341_68559.doc");
}
public class AppWebViewClients extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        // TODO Auto-generated method stub
        view.loadUrl(url);
        return true;
    }

    @Override
    public void onPageFinished(WebView view, String url) {
        // TODO Auto-generated method stub
        super.onPageFinished(view, url);
    }
}

office转html可参考另外一篇文章 使用POI将office文件转html格式(附带源码)

猜你喜欢

转载自my.oschina.net/u/3698786/blog/1816439