【问题标题】:How to display PDF inside WebView in Android?如何在 Android 的 WebView 中显示 PDF?
【发布时间】:2019-02-08 02:55:09
【问题描述】:

我将 WebView 添加到 Android。它工作正常。但我的网站包含 PDF 链接。当点击网页视图上的 PDF 链接时,它将通过默认网页浏览器打开,而不是在 WebView 中。我也想在 WebView 中显示 PDF。有没有办法限制它在同一个 WebView 中打开?

【问题讨论】:

标签: java android pdf webview


【解决方案1】:

试试这个:

您可以使用 Google Docs 打开您的 PDF 文档,然后使用 WebView 加载 Google Docs 的 URL。

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.activity_main);

    WebView webView=new WebView(MainActivity.this);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setPluginState(PluginState.ON);
    webView.setWebViewClient(new Callback());
    String pdfURL = "http://dl.dropboxusercontent.com/u/37098169/Course%20Brochures/AND101.pdf";
    webView.loadUrl("http://docs.google.com/gview?embedded=true&url=" + pdfURL);

    setContentView(webView);
}

private class Callback extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(
            WebView view, String url) {
        return(false);
    }
}

喜欢这个

【讨论】:

  • 我没有pdf链接。只有我有网站链接...问题是当点击网站上的pdf链接时,它将通过默认浏览器打开...。
  • 尝试下载 pdf,然后将其上传到 archieve.org 以使其成为直接链接...然后使用上面由@AndroidGeek 提供的代码...。
【解决方案2】:

我找到了一个非常简单的解决方案(没有 google drive viewer 等)。它将在预览窗口中打开 pdf 文档,用户可以在其中查看和保存/共享文档:

webView.setDownloadListener(DownloadListener { url, userAgent, contentDisposition, mimetype, contentLength ->
     val i = Intent(Intent.ACTION_QUICK_VIEW)
     i.data = Uri.parse(url)
     startActivity(i)
})

(科特林)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 2018-10-19
    • 1970-01-01
    • 1970-01-01
    • 2019-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多