Как открыть файл PDF с сервера в Android - PullRequest
2 голосов
/ 20 декабря 2011

У меня есть требование, где есть URL = "http://www.example/Open.pdf"

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

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

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

Как мне перейти к этой реализации?

Ответы [ 4 ]

2 голосов
/ 20 сентября 2012

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

1 голос
/ 27 декабря 2011

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

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

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

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

1 голос
/ 06 мая 2012

Вы можете просмотреть 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

1 голос
/ 20 декабря 2011

Вы можете просмотреть 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");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...