简体   繁体   English

如何在没有 Google 文档或 Google Drive 的情况下从 URL 打开 PDF

[英]How to open PDF from URL without Google doc or Google drive

I am new in android.我是安卓新手。

I am trying to open PDF from url in webview.我正在尝试从 webview 中的 url 打开 PDF。 Its working fine for small PDF but if i receive large PDF from server, Then it give error,它适用于小 PDF,但如果我从服务器收到大 PDF,则会出错,

(No Preview Available). (预览不可用)。

I want to show pdf from server only in view mode and user should not download and also need to clear cache after back press.我只想在查看模式下从服务器显示 pdf,用户不应下载,还需要在回按后清除缓存。 Below are the code which i am using to open the PDF from server.下面是我用来从服务器打开 PDF 的代码。

enter image description here在此处输入图片说明

Code:代码:

webview.getSettings().setJavaScriptEnabled(true);

webview.getSettings().setPluginState(WebSettings.PluginState.ON);

webview.setWebViewClient(new Callback());

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

use this用这个

private String showPdf(String url) {
     String googleDocsUrl = "http://docs.google.com/viewer?embedded=true&url=";
     return googleDocsUrl+Uri.encode(url);
}

if its still not available, it maybe the url is on private server.如果它仍然不可用,则网址可能在私人服务器上。

void showWebView(){ 
    webview.setWebViewClient(new MyBrowser());
    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setBuiltInZoomControls(false);
    webview.getSettings().setSupportZoom(true);
    webview.loadUrl("https://docs.google.com/viewer?url=" + your_url+ "&embedded=true");
}

private class MyBrowser extends WebViewClient {

    @Override
    public void onUnhandledKeyEvent(WebView view, KeyEvent ke) {

        Log.e("Unhandled Key Event", ke.toString());
        //mProg.cancel();

    }

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

        //mProg.cancel();
        super.onPageFinished(view, url);
        wv_webview_content.loadUrl("javascript:(function() { " +
                "document.getElementsByClassName('ndfHFb-c4YZDc-GSQQnc-LgbsSe ndfHFb-c4YZDc-to915-LgbsSe VIpgJd-TzA9Ye-eEGnhe ndfHFb-c4YZDc-LgbsSe')[0].style.display='none'; })()");
    }

}

try this尝试这个

webView.loadUrl("http://drive.google.com/viewerng/viewer?embedded=true&url=https://sherlock-holm.es/stories/pdf/a4/1-sided/advs.pdf");  

replace this url https://sherlock-holm.es/stories/pdf/a4/1-sided/advs.pdf with your url.将此网址https://sherlock-holm.es/stories/pdf/a4/1-side/advs.pdf替换为您的网址。 if still not work then check your pdf.如果仍然不起作用,请检查您的pdf。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM