如何在Android WebView中打开本地保存的PDF文件?

时间:2014-08-20 14:29:45

标签: android pdf webview

我试图在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");

有人可以帮忙吗?提前谢谢。

2 个答案:

答案 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);