我试图在WebView中打开本地保存的PDF文件。我可以使用IntentService打开它,但我想在WebView中打开它。除了PDF之外,所有其他文件都适用于我。
我使用了以下代码:
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setBuiltInZoomControls(true);
settings.setSupportZoom(true);
settings.setAllowFileAccess(true);
String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(MimeTypeMap.getFileExtensionFromUrl(mFilePath));
webView.loadData(mFilePath, mimeType, "UTF-8");
有人可以帮忙吗?提前谢谢。
答案 0 :(得分:0)
您可以使用Google文档查看器在线阅读您的pdf: webview.getSettings()setJavaScriptEnabled(真)。 webview.loadUrl(" http://docs.google.com/gview?embedded=true&url=" + pdf);
答案 1 :(得分:0)
您也可以使用iframe。
pdfView.setWebChromeClient(new WebChromeClient());
WebSettings settings = pdfView.getSettings();
settings.setPluginState(WebSettings.PluginState.ON);
pdfView.setWebViewClient(new WebViewClient());
pdfView.setBackgroundColor(0x00000000);
settings.setAllowFileAccess(false);
settings.setBuiltInZoomControls(true);
settings.setSupportZoom(true);
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(false);
settings.setSaveFormData(false);
settings.setJavaScriptEnabled(true);
String html = "<iframe src=\"http://docs.google.com/gview?url=" +
path + "&embedded=true&wmode=opaque\"" +
"style=\"width:600px; height:900px;\" scrolling=\"no\"" +
"frameborder=\"0\" allowfullscreen></iframe>";
pdfView.loadDataWithBaseURL(null, html, "text/html", "UTF-8", null);