我有一个要求,那里是一个URL = "http://www.example/Open.pdf"
如何打开从服务器的PDF文件中的android
现在从我的Android应用程序,我想直接在默认PDF viewer
打开此文件PDF
。
当我单击webpage
上的此链接时,用户应该看到一个用此文档打开的默认PDF查看器。
注意:此文件不应被存储在SD card.
如何进行此实现?
我有一个要求,那里是一个URL = "http://www.example/Open.pdf"
如何打开从服务器的PDF文件中的android
现在从我的Android应用程序,我想直接在默认PDF viewer
打开此文件PDF
。
当我单击webpage
上的此链接时,用户应该看到一个用此文档打开的默认PDF查看器。
注意:此文件不应被存储在SD card.
如何进行此实现?
您无法从应用程序打开默认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");
您可以查看使用
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");
你有除了使用http://docs.google.com/gview?embedded=true&url=http://myurl.com/demo.pdf
我们可以打开web视图PDF文件,而无需将其高速缓存查看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无论多么重要。 Google文档负责处理它。
感谢Lalit的发帖。但我希望它能在Adobe PDF文件浏览器中打开,而不是在Adobe文档中打开。 – EnthuDeveloper 2011-12-20 12:05:21