我得到的时候尝试打开网页视图在线PDF文件无预览可用消息

问题描述 投票:-1回答:2

我这样的代码的WebView的WebView =新的WebView(getActivity());

    webview.getSettings().setJavaScriptEnabled(true);

   final ProgressDialog progDailog = ProgressDialog.show(getActivity(), "Loading", "Please wait...", true);
    progDailog.setCancelable(false);


    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setLoadWithOverviewMode(true);
    webview.getSettings().setUseWideViewPort(true);
    webview.getSettings().setPluginState(WebSettings.PluginState.ON);

// webview.setLayoutParams(新LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT)); //以下行是表明装载机取消平铺下载的查看PDF文件。 webview.setWebViewClient(新WebViewClient(){

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            progDailog.show();
            view.loadUrl(url);

            return true;
        }

        @Override
        public void onPageFinished(WebView view, final String url)
        {
            progDailog.dismiss();
        }
    });
    try {
        String urlEncoded = URLEncoder.encode(pdf, "UTF-8");
        pdf = "http://docs.google.com/viewer?url=" + urlEncoded;
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
   String pdf = "http://192.168.2.154:8080/streamline/res/INV-000015.pdf";
    webview.loadUrl("http://drive.google.com/viewerng/viewer?embedded=true&url=" + pdf);
android pdf webview
2个回答
1
投票

192.168.2.154是你的本地网络上的机器。 docs.google.com不能访问它。 docs.google.com只能访问公网IP地址的公开网址。

也许你可以考虑other options for viewing PDFs


0
投票

这为我工作......我所做的是我解析URL作为URI以链接相连来之前,一切工作。下面是我的代码:

// sets visibility to visible
progressBar.setVisibility(View.VISIBLE);


// displaying document in webview
String url = Uri.encode(fileUrl);


document_viewer.getSettings().setJavaScriptEnabled(true);
document_viewer.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
document_viewer.getSettings().setBuiltInZoomControls(true);
document_viewer.getSettings().setUseWideViewPort(true);
//document_viewer.getSettings().setPluginState(WebSettings.PluginState.ON);
// loads documentUrl into webView
document_viewer.loadUrl("http://docs.google.com/gview?embedded=true&url="+url);

document_viewer.setWebViewClient(new WebViewClient() {

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {

        super.onPageStarted(view, url, favicon);
        // sets visibility to visible
        progressBar.setVisibility(View.VISIBLE);

    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return false;
    }
    @Override
    public void onPageFinished(WebView view, String url) {
        // do your stuff here
        // sets visibility of progressBar to gone
        progressBar.setVisibility(View.GONE);

        // sets visibility of webView to visible
        document_viewer.setVisibility(View.VISIBLE);

        // setting the details of document on text Views
        title.setText(" Title : " + documentTitle);
        tag.setText(" Tag : " + documentTag);
        type.setText(" Type : " + documentType);
        comment.setText(" Comment : " + documentComment);
        distributee.setText(" Distributee : "  + documentDistributee);
    }

    @Override
    public void onReceivedError(WebView view, int errorCode,
                                String description, String failingUrl) {
        view.loadUrl("about:blank");
        Toast.makeText(getApplicationContext(), getResources().getString(R.string.error_occurred), Toast.LENGTH_LONG).show();
        super.onReceivedError(view, errorCode, description, failingUrl);
    }

});

希望能帮助到你。谢谢

© www.soinside.com 2019 - 2024. All rights reserved.