在Web视图中打开带有PDF附件的选项卡

我们试图让我们的用户在Web应用程序(WebView)中下载/显示PDF文件

HTML很简单

<iframe src="path/to/pdf" />

在标准的Android浏览器中,一切正常 - 点击链接时,浏览器允许显示PDF或下载...(content-type是application / pdf)

当使用webview时,我们没有得到相同的结果 - 空白页面正在显示,(可能是一个新标签打不开?!)

注意 - 我们无法使用Google查看器 - PDF位于用户禁止区域(需要一个会话) - 因此我们无法提供PDF查看器的公共链接,这是Google查看器工作所必需的。

我们如何使webview像常规浏览器一样工作?


HTML很简单,但它包含许多CSS,JavaScript / jQuery代码依赖项。 相应的浏览器呈现,JavaScript可以在浏览器上运行。 由于浏览器已预先配置为运行JavaScript并呈现html css。


Android webview未预先配置为运行javascript,css。 它只能呈现html。 所以它在webview中看起来很奇怪,因为它在没有css的情况下呈现并且不运行javascript


如何配置webview运行css和javascript,允许在webview中继续前进并像浏览器一样后退?

这里列出了完整的属性。 Android开发者

然后你的webview可以让用户下载那里的文件..


WebView mWebView = findViewById(R.id.myWebView);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebChromeClient(new MyWebChromeClient((Activity)mContext));
mWebView.addJavascriptInterface(new testClass(), "jsinterface");
mWebView.loadUrl("UrlToLoad");

您需要附加http://docs.google.com/gview?embedded=true&url=以在Webview中打开PDF文件

String docInitialUrl = "http://docs.google.com/gview?embedded=true&url="+docUrl;
    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setSupportZoom(true);
    webView.setInitialScale(100);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setLoadsImagesAutomatically(true);
    webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
    webView.setWebViewClient(new WebViewClient());
    webView.loadUrl(docInitialUrl);
链接地址: http://www.djcxy.com/p/46771.html

上一篇: Opening a tab with a PDF attachment in a Webview

下一篇: Android Download and Open PDF File from URL ending with .aspx