【问题标题】:show pdf in webview not works在 webview 中显示 pdf 不起作用
【发布时间】:2015-08-31 05:55:51
【问题描述】:

我正在 webview 中显示带有 Google 文档的 pdf。我正在使用来自 Google Drive 的网址。我从 Google Drive 尝试了很多格式,但没有运气。 我的网址链接如下

https://drive.google.com/drive/u/0/folders/0Bxd-5Rffh6BufmNiYS16NFZKN2JmYzd3TjgtWmxLeEZ2SnlMa2l2RDhmYlNyTDgtUXZOdnM

我的活动类如下"

public class FormWebViewActivity extends CustomWindow {

int value;
static String POSITION_ID = "position";
// WebView webView;

ProgressBar progressBar_webview;

@SuppressWarnings("deprecation")
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    try {

        WebView webView = new WebView(FormWebViewActivity.this);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setPluginState(PluginState.ON);

        String pdfURL = "https://drive.google.com/drive/u/0/folders/0Bxd-5Rffh6BufmNiYS16NFZKN2JmYzd3TjgtWmxLeEZ2SnlMa2l2RDhmYlNyTDgtUXZOdnM";
        // https://drive.google.com/file/d/0Bxd-5Rffh6BuSlhnTHJsMW5Hclk/view

        webView.setWebViewClient(new WebViewClient() {

            @Override
            public void onPageFinished(WebView view, String url) {

                super.onPageFinished(view, url);
                // progressBar_webview.setVisibility(View.GONE);
            }
            @Override
            public void onPageStarted(WebView view, String url,
                    Bitmap favicon) {

                super.onPageStarted(view, url, favicon);
                // progressBar_webview.setVisibility(View.VISIBLE);
            }
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                // view.loadUrl(url);
                return false;
            }

        });

        webView.loadUrl("http://docs.google.com/gview?embedded=true&url="
                + pdfURL);
        setContentView(webView);

    } catch (RuntimeException e) {
        e.printStackTrace();
    }
    // WebView webView = new WebView(FormWebViewActivity.this);
}

}

但它只显示 HTML 代码,而不是实际的 PDF 视图。 我输入了错误的 Google Drive URL 吗?或者无法从 Google Drive 显示。

任何免费的 PDF 文件网络托管也将不胜感激。

【问题讨论】:

    标签: android pdf webview


    【解决方案1】:

    除了@Derek Fung 的回答之外,如果您的驱动器具有登录会话,您可能还需要提供会话访问权限。

    但是,如果您使用仅查看 url,则不会提示用户登录该 google 帐户。

    你可以这样使用::

     webView.loadUrl("https://docs.google.com/viewer?url="+ pdfURL);
    

    【讨论】:

    • 我成功加载了网址。但是当向下滚动时,pdf 页面加载不好。假设如果 pdf 有 10 页,则第一页或第二页加载良好。其余页面已卸载。
    • 很高兴听到您现在能够加载页面/pdf,我认为您的 pdf(或)某些代码(可能)存在问题。所以最好用你的所有代码发布另一个问题!
    • 我正在尝试这个解决方案,但是我的 webview 在加载新的 url 后返回空白和黑色,但是在普通的 web 浏览器中放置相同的 url 是可行的。你知道为什么吗?
    【解决方案2】:

    您尝试使用的链接需要身份验证,这意味着除非 webview 具有登录会话,否则您可能无法访问该内容。

    您必须点击下面的链接并设置为Anyone with the linkPublic web access,请注意网址也可以是其他内容。

    编辑:

    忘记提供链接

    https://support.google.com/drive/answer/2494886?hl=en

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多