如何在android中从服务器打开PDF文件
我需要一个如何在android中从服务器打开PDF文件,android,pdf,android-webview,Android,Pdf,Android Webview,我需要一个URL=”http://www.example/Open.pdf“ 现在,在我的android应用程序中,我想直接在默认的PDF查看器中打开这个PDF文件 当我在网页上单击此链接时,用户应该会看到一个默认的PDF查看器,该查看器随此文档一起打开 注意:此文件不应存储在SD卡上。 如何执行此实现?您可以使用googleDocs在WebView中查看pdf WebView webView = (WebView) findViewById(R.id.my_webview); webView.
URL=”http://www.example/Open.pdf“
现在,在我的android应用程序中,我想直接在默认的PDF查看器中打开这个PDF
文件
当我在网页
上单击此链接时,用户应该会看到一个默认的PDF查看器,该查看器随此文档一起打开
注意:此文件不应存储在SD卡上。
如何执行此实现?您可以使用googleDocs
在WebView
中查看pdf
WebView webView = (WebView) findViewById(R.id.my_webview);
webView.setWebViewClient(new MyWebViewClient());
webView.addView(webView.getZoomControls());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://docs.google.com/gview?embedded=true&url=http://myurl.com/demo.pdf");
您无法从应用程序中打开默认的PDF视图
如果您的文件位于服务器上,并且您希望在不下载的情况下打开它,那么这也可能会带来更大的安全问题。如果像默认adobe reader这样的外部应用程序可以访问服务器上的内容,那么这将彻底破坏安全框架
所以,最好的选择是启动一个新的浏览器或webview实例,并在google文档中向用户显示PDF文档
这样,用户可以阅读文档并返回到应用程序的最新状态
您可以使用googleDocs
在WebView
中查看pdf
WebView webView = (WebView) findViewById(R.id.my_webview);
webView.setWebViewClient(new MyWebViewClient());
webView.addView(webView.getZoomControls());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://docs.google.com/gview?embedded=true&url=http://myurl.com/demo.pdf");
除了使用查看pdf文件,您还有其他解决方案吗?我们可以在webview中打开pdf文件,而无需缓存。在“onCreate”
方法中编写以下代码
工作代码:
String url = "http://www.example.com/abc.pdf";
final String googleDocsUrl = "http://docs.google.com/viewer?url=";
WebView mWebView=new WebView(this);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return false; // then it is not handled by default action
}
});
mWebView.loadUrl((googleDocsUrl + url));
setContentView(mWebView);
这里发生的是你用谷歌文档打开PDF文件使用上述方法的最大优点是延迟加载PDF。不管PDF有多重。谷歌文档会处理好的。谢谢你的帖子。但我希望它能在默认的PDF浏览器中打开,比如adobe,而不是谷歌文档。