如何在android中从服务器打开PDF文件

时间:2011-12-20 11:54:37

标签: android pdf android-webview

我有一个URL = "http://www.example/Open.pdf"

的要求

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

当我点击webpage上的此链接时,应向用户显示使用此文档打开的默认PDF查看器。

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

如何进行此实施?

4 个答案:

答案 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文件外,您还有其他解决方案吗?