Есть ли способ заставить стандартный браузер Android автоматически открывать PDF, Word или другой типичный файл без необходимости загружать файл, а затем заставлять пользователя открывать файл из приложения Загрузки или панели уведомлений ?
У нас есть веб-приложение, в котором есть много документов, которые мы хотели бы включить и не преобразовывать в HTML, но заставить пользователя загрузить файл и открыть его вручную непросто обучить пользователей.
В iOS все эти файлы отображаются в браузере. Мне нужен способ заставить браузер автоматически запускать файлы в Acrobat Reader или QuickOffice или в любой другой программе, которую пользователь должен отображать.
Кто-нибудь знает, как это сделать? Я знаю, что в Документах Google есть некоторая поддержка просмотра PDF-файлов, но люди, использующие наше веб-приложение, могут не иметь общедоступного доступа в Интернет во всех случаях и могут попасть на локальный веб-сервер.
Ответы:
Вы можете открыть PDF-файл в Google Docs Viewer, добавив URL-адрес в:
http://docs.google.com/gview?embedded=true&url=<url of a supported doc>
Это откроет PDF-файл в браузере по умолчанию или в WebView.
Список поддерживаемых форматов приведен здесь .
источник
https://drive.google.com/viewerng/viewer?embedded=true&url=####
и это сработало !Вы можете использовать этот формат с 06.04.2017.
https://docs.google.com/viewerng/viewer?url=http://yourfile.pdf
Просто замените http: //yourfile.pdf используемой ссылкой.
источник
В частности, чтобы установить плагин pdf.js для firefox, вы не используете магазин приложений. Вместо этого перейдите на addons.mozilla.org изнутри mozilla и установите его оттуда. Кроме того, чтобы проверить, правильно ли он установлен, перейдите в меню Инструменты: Надстройки (а не по URL-адресу «about: plugins», как вы могли подумать в настольной версии).
(Новая учетная запись, иначе я бы поставил это как комментарий к ответу выше)
источник
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);
источник
Мне это тоже было нужно, и ссылки выше перестали работать, так что вот что я нашел для работы с новым 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 (это может быть ссылка или srcid URL-адрес iframe)
Я тестировал на Android, и он прекрасно открывает программу просмотра PDF.
источник
К сожалению, собственный браузер, представленный на устройствах Android, не поддерживает этот тип файлов. Посмотрим, сможем ли мы в 4.0 это сделать.
источник
Вы можете использовать это
webView.loadUrl("https://docs.google.com/viewer?url=" + "url of pdf file");
источник
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)");
источник
setPluginState
устарел из API 18 ( stackoverflow.com/questions/19362049/… ).setPluginsEnabled
скорее, чемsetPluginState
setPluginState
иначе мой веб-просмотр не будет работатьpublic class MainActivity extends AppCompatActivity { Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { openURL("http://docs.google.com/viewer?url=" + " your pdf link "); } }); } private void openURL(String s) { Uri uri = Uri.parse(s); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(uri,"text/html"); startActivity(intent); } }
источник
Используйте фрагмент кода ниже
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);
источник