在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