美文网首页
Android查看Office文件

Android查看Office文件

作者: itfitness | 来源:发表于2023-06-14 09:26 被阅读0次

    目录


    前言

    有的时候需要我们查看Office文件,像ppt、world等文件,而如果使用手机中存在的软件打开的话(像wps等),又可能会因为手机中没有相关的软件而打不开,所以最好的方式就是在APP内部打开

    实现方法

    1.使用腾讯TBS

    2023年之前可能还行,但是现在腾讯已经把文档浏览服务分出去了,开始收费了
    https://mp.weixin.qq.com/s/rmSa4Fs77MDdjFioRKwXPA

    2.使用kkfileView

    https://kkview.cn/zh-cn/index.html
    这个是免费的,需要部署,然后就可以通过访问网页连接的形式来打开office文件了,当然如果不想部署的话可以使用它提供的在线预览的地址,它支持打开很多文件如下


    在Android中使用的话分两种情况,第一种情况是文件连接带后缀名
    val previewUrl = "http://127.0.0.1:8080/file/test.txt"
    val url =
        javaEncodeURIComponent(EncodeUtils.base64Encode2String(previewUrl.toByteArray()))
    
        fun javaEncodeURIComponent(url: String?): String? {
            return try {
                URLEncoder.encode(url, "UTF-8").replace("+", "%20").replace("*", "%2A")
                    .replace("%7E", "~").replace("/", "%2F")
            } catch (e: UnsupportedEncodingException) {
                e.printStackTrace()
                ""
            }
        }
    

    这里的EncodeUtils.base64Encode2String是使用的下面的依赖

    implementation 'com.blankj:utilcodex:1.31.1'
    

    第二种情况是文件连接不带后缀名,要加一个参数fullfilename用来指定文件名

    val fileUrl = "http://127.0.0.1:8080/filedownload"
    val fileName = "test.txt"
    val previewUrl = "$fileUrl?fullfilename=$fileName"
    val url =
        javaEncodeURIComponent(EncodeUtils.base64Encode2String(previewUrl.toByteArray()))
        
    fun javaEncodeURIComponent(url: String?): String? {
            return try {
                URLEncoder.encode(url, "UTF-8").replace("+", "%20").replace("*", "%2A")
                    .replace("%7E", "~").replace("/", "%2F")
            } catch (e: UnsupportedEncodingException) {
                e.printStackTrace()
                ""
            }
        }
    
    

    相关文章

      网友评论

          本文标题:Android查看Office文件

          本文链接:https://www.haomeiwen.com/subject/etihydtx.html