我有一个URL = "http://www.example/Open.pdf"
现在,从我的Android应用程序中,我想直接在默认的PDF
中打开此PDF viewer
文件。
当我点击webpage
上的此链接时,应向用户显示使用此文档打开的默认PDF查看器。
注意:此文件不应存储在SD card.
如何进行此实施?
答案 0 :(得分:2)
我们可以在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);
这里发生的是您使用Google文档打开PDF。使用上述方法的最佳优势是延迟加载PDF 。无论PDF有多重。 Google文档负责处理它。
答案 1 :(得分:1)
您可以使用WebView
在<{1}}中查看pdf。
googleDocs
答案 2 :(得分:1)
您无法从应用程序中打开默认的PDF视图。
如果您的文件在服务器上并且您想要在不下载的情况下打开它,那么这可能也会带来更大的安全问题。如果像默认的adobe reader这样的外部应用程序可以访问服务器上的内容,那么这完全打破了安全框架。
因此,最好的选择是启动浏览器或webview的新实例,并将谷歌文档中的PDF文档显示给用户。
这样用户就可以阅读文档并回到应用程序的最新状态。
答案 3 :(得分:1)
您可以使用
WebView
在<{1}}中查看pdf。
googleDocs
除了使用http://docs.google.com/gview?embedded=true&url=http://myurl.com/demo.pdf
查看pdf文件外,您还有其他解决方案吗?