¿Hay alguna manera de hacer que el navegador Android estándar abra automáticamente un PDF, Word u otro archivo típico sin tener que pasar por el proceso de descarga del archivo y luego hacer que el usuario abra el archivo desde la aplicación Descargas o la barra de notificaciones? ?
Tenemos una aplicación web que tiene muchos documentos que nos gustaría incluir y no tener que convertirlos a HTML, pero hacer que el usuario descargue el archivo y lo abra manualmente no es fácil para entrenar a los usuarios.
En iOS, todos estos archivos se muestran en línea en el navegador. Me gustaría una forma de hacer que el navegador inicie automáticamente los archivos en Acrobat Reader o QuickOffice o cualquier programa que el usuario tenga para mostrarlos.
¿Alguien sabe una forma de hacer eso? Sé que Google Docs tiene cierto soporte para la visualización de PDF, pero es posible que las personas que usan nuestra aplicación web no tengan acceso público a Internet en todos los casos y es posible que accedan a un servidor web local.
Respuestas:
Puede abrir PDF en Google Docs Viewer agregando URL a:
http://docs.google.com/gview?embedded=true&url=<url of a supported doc>
Esto abriría PDF en el navegador predeterminado o WebView.
Aquí se proporciona una lista de formatos compatibles .
fuente
https://drive.google.com/viewerng/viewer?embedded=true&url=####
y eso hizo el trabajo.Puede utilizar este formato a partir del 4/6/2017.
https://docs.google.com/viewerng/viewer?url=http://yourfile.pdf
Simplemente reemplace http: //yourfile.pdf con el enlace que usa.
fuente
Específicamente, para instalar el complemento pdf.js para Firefox, no usa la tienda de aplicaciones. En su lugar, vaya a addons.mozilla.org desde mozilla e instálelo desde allí. Además, para ver si está instalado correctamente, vaya al menú Herramientas: Complementos (no la URL "acerca de: complementos" como podría pensar en la versión de escritorio).
(Cuenta nueva, de lo contrario, pondría esto como un comentario en la respuesta anterior)
fuente
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);
fuente
Yo también necesitaba esto, y los enlaces anteriores dejaron de funcionar, así que esto es lo que encontré para trabajar con el nuevo Google Drive:
Google tiene un servicio que crea el enlace para PDF que no están en GDrive: https://docs.google.com/viewer Simplemente agregue su URL y creará un enlace y un código IFrame (mire de cerca y verá el patrón y creará enlaces sin este servicio web)
Además, hay una manera de hacerlo para los PDF almacenados en Google Drive: https://docs.google.com/viewer?srcid=YOUR_GDRIVE_PDF_DOC_ID_HERE&pid=explorer&efh=false&a=v&chrome=false&embedded=true (esto puede ser un enlace o el src URL de un iframe)
Lo he probado en Android y muestra muy bien el visor de PDF.
fuente
Desafortunadamente, el navegador nativo presente en los dispositivos Android no es compatible con este tipo de archivo. Veamos si en la 4.0 podremos hacer eso.
fuente
Puedes usar esto
webView.loadUrl("https://docs.google.com/viewer?url=" + "url of pdf file");
fuente
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)");
fuente
setPluginState
está en desuso de API 18 ( stackoverflow.com/questions/19362049/… ).setPluginsEnabled
lugar desetPluginState
setPluginState
contrario, mi vista web no funcionará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); } }
fuente
Utilice el fragmento de código a continuación
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);
fuente