2011-12-20 6 views
2

У меня есть требование, где есть URL = "http://www.example/Open.pdf"Как открыть PDF-файл с сервера в андроиде

Теперь из моего приложения Android я хочу, чтобы открыть этот файл PDF непосредственно в стандартном PDF viewer.

В тот момент, когда я нажимаю на эту ссылку на webpage, пользователю должен быть предоставлен инструмент просмотра PDF по умолчанию, открытый этим документом.

Примечание: Этот файл должен быть сохранен на SD card.

Как приступить к реализации этого?

ответ

1

Невозможно открыть PDF-представление по умолчанию из приложения.

Если ваш файл находится на сервере и вы хотите его открыть без загрузки, это может также представлять большую проблему безопасности. Если внешние приложения, такие как стандартный Adobe Reader, могут получить доступ к контенту на вашем сервере, то это полностью нарушает структуру безопасности.

Таким образом, лучшим вариантом будет запуск нового экземпляра браузера или веб-просмотра и отображение документа PDF в документах google для пользователя.

Таким образом, пользователь может прочитать документ и вернуться к последнему состоянию приложения.

1

Вы можете просмотреть pdf в WebView, используя googleDocs.

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. Но я хочу, чтобы он открывался в программе просмотра PDF по умолчанию, как Adobe, а не в документах google. – EnthuDeveloper

1

Вы можете просмотреть PDF в WebView с помощью googleDocs.

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-файла с использованием http://docs.google.com/gview?embedded=true&url=http://myurl.com/demo.pdf

2

Мы можем открыть PDF файл в WebView без кэширования его. Напишите ниже код в методе "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 с помощью Google Docs. Лучшим преимуществом использования вышеуказанного метода является ленивая загрузка PDF. Неважно, насколько тяжелен PDF. Документы Google заботятся об этом.

Смежные вопросы