9

我使用 Google Document Viewer 在我的 Android 设备中打开 PDF 文件。显示带有“无可用预览”文本的黑屏,而不是打开我的 PDF 文件。我已经使用来自 Google 的示例 PDF 文件进行了测试。他们工作正常,但不是我的 PDF 文件。我需要从代码方面做些什么来查看我的 PDF。

http://docs.google.com/viewer?url=myurl.pdf

在此处输入图像描述

4

3 回答 3

4

有一个文件显示这个问题。重命名它以删除文件名中的空白,更新我的链接并且它有效。请注意,空白已正确地被 HTML 编码为 %20,因此不需要此“修复”。但是,我不能与成功争论。祝你好运。

于 2016-09-26T20:03:54.550 回答
3

终于解决了这个问题。问题存在于网址中。在 url 我将 %2 替换为 %252 然后在 1 周后我解决了这个问题。

简而言之,我想对查询字符串进行编码。

if (Url != null && Url.contains("=")) {
    String Urll =Url.substring(Url.lastIndexOf("&Signature=") + 1).replace("%2B", "%252B");
    if (null != Urll && Urll.length() > 0 && Urll.contains("%252B")) {
        int endIndex = Url.lastIndexOf("Signature");
        if (endIndex != -1) {
            Url = Url.substring(0, endIndex);
            Url = Url + Urll;
        }
    }
    Url = Url.replace("?AWSAccessKeyId=", "?AWSAccessKeyId%3D")
            .replace("&Expires=", "%26Expires%3D").replace("&Signature=", "%26Signature%3D");
}
于 2017-04-18T14:32:58.257 回答
0

尝试像这样编码网址

    try {
            encode_url=URLEncoder.encode(url,"UTF-8"); //Url Convert to UTF-8 It important.
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

webView.loadUrl("https://docs.google.com/viewerng/viewer?embedded=true&url="+encode_url);
于 2021-04-24T17:23:20.000 回答