Как отобразить PDF через веб-браузер Android без «загрузки» в первую очередь - PullRequest
68 голосов
/ 16 сентября 2011

Есть ли способ заставить стандартный браузер Android автоматически открывать PDF, Word или другой типичный файл, не выполняя процесс загрузки файла, а затем заставляя пользователя открыть файл из приложения «Загрузки» илипанель уведомлений?

У нас есть веб-приложение, в котором есть много документов, которые мы хотели бы включить, и не нужно преобразовывать их в HTML, но заставить пользователя загрузить файл и открыть его вручную нелегкодля обучения пользователей.

В iOS все эти файлы отображаются встроенными в браузере.Мне бы хотелось, чтобы браузер автоматически запускал файлы в Acrobat Reader, QuickOffice или любой другой программе, которую пользователь должен отображать.

Кто-нибудь знает способ сделать это?Я знаю, что Google Docs имеет некоторую поддержку просмотра PDF, но люди, использующие наше веб-приложение, могут не иметь общедоступного доступа в Интернет во всех случаях и могут попасть на локальный веб-сервер.

Ответы [ 9 ]

52 голосов
/ 03 апреля 2012

Вы можете открыть PDF в Google Docs Viewer, добавив URL к:

http://docs.google.com/gview?embedded=true&url=<url of a supported doc>

Это откроет PDF в браузере по умолчанию или в WebView.

Дан список поддерживаемых форматов здесь .

10 голосов
/ 07 апреля 2017

Вы можете использовать этот формат с 4/6/2017.

https://docs.google.com/viewerng/viewer?url=http://yourfile.pdf

Просто замените http://yourfile.pdf на используемую вами ссылку.

3 голосов
/ 17 января 2015

В частности, чтобы установить плагин pdf.js для Firefox, вы не используете магазин приложений.Вместо этого перейдите на addons.mozilla.org изнутри Mozilla и установите его оттуда.Кроме того, чтобы проверить, правильно ли он установлен, перейдите в меню Инструменты: дополнения (а не URL «about: plugins», как вы можете подумать из версии для настольных компьютеров).

(Новая учетная запись, в противном случае я 'добавлю это как комментарий к ответу выше)

3 голосов
/ 11 августа 2014

Мне это тоже нужно было, и вышеприведенные ссылки перестали работать, поэтому я обнаружил, что это работает с новым Google Диском:

У Google есть служба, которая создает ссылку для PDF-файлов Not in GDrive: https://docs.google.com/viewer Просто добавьте свой URL, и он создаст ссылку, и код IFrame (Присмотритесь, и вы увидите шаблон и создадите ссылки без этого веб-сервиса)

Также есть способ сделать это для PDF-файлов, хранящихся на Google Диске: https://docs.google.com/viewer?srcid=YOUR_GDRIVE_PDF_DOC_ID_HERE&pid=explorer&efh=false&a=v&chrome=false&embedded=true (это может быть ссылка или URL-адрес источника iframe)

Я тестировал на Android, и он прекрасно отображает программу просмотра PDF.

2 голосов
/ 09 августа 2017
String format = "https://drive.google.com/viewerng/viewer?embedded=true&url=%s";
String fullPath = String.format(Locale.ENGLISH, format, "PDF_URL_HERE");
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(fullPath));
startActivity(browserIntent);
2 голосов
/ 24 октября 2011

К сожалению, встроенный браузер на устройствах Android не поддерживает этот тип файлов.Давайте посмотрим, сможем ли мы сделать это в 4.0.

1 голос
/ 01 марта 2017
  Try this, worked for me.

    WebView view = (WebView) findViewById(R.id.yourWebView);

    view.getSettings().setJavaScriptEnabled(true);
    view.getSettings().setPluginState(WebSettings.PluginState.ON);
    view.loadUrl("http://docs.google.com/gview?embedded=true&url="
                  +"your document link(pdf,doc,docx...etc)");
1 голос
/ 19 октября 2016

Вы можете использовать это

webView.loadUrl("https://docs.google.com/viewer?url=" + "url of pdf file"); 
0 голосов
/ 21 марта 2012
  • Загрузите файл .apk Acrobat Reader для Android для отображения PDF-файла
  • Поместите PDF-файлы на SD-карту
  • Используйте фрагмент кода ниже

    File file= new File("/sdcard/test.pdf");
    Uri path=Uri.fromFile(file);
    Intent i =new Intent(Intent.ACTION_VIEW);
    i.setDataAndType(path,"application/pdf");
    i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(i);
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...