2011-12-20 51 views
2

我有一个要求,那里是一个URL = "http://www.example/Open.pdf"如何打开从服务器的PDF文件中的android

现在从我的Android应用程序,我想直接在默认PDF viewer打开此文件PDF

当我单击webpage上的此链接时,用户应该看到一个用此文档打开的默认PDF查看器。

注意:此文件不应被存储在SD card.

如何进行此实现?

回答

1

您无法从应用程序打开默认PDF视图。

如果您的文件位于服务器上,并且您希望在不下载的情况下打开它,那么这可能会带来更大的安全隐患。如果默认的Adobe Reader等外部应用程序可以访问服务器上的内容,那么这完全破坏了安全框架。

因此,最好的选择是启动浏览器或webview的新实例,并向用户显示Google文档中的PDF文档。

这样用户可以读取文档并返回到最近的应用程序状态。

1

您可以使用googleDocsWebView中查看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"); 
+0

感谢Lalit的发帖。但我希望它能在Adobe PDF文件浏览器中打开,而不是在Adobe文档中打开。 – EnthuDeveloper 2011-12-20 12:05:21

1

您可以查看使用googleDocsWebView的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

2

我们可以打开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文档负责处理它。

相关问题