2011-01-12 613 views
16

Estoy tratando de crear un intento que abriría un archivo pdf en la web (una url) en un lector de PDF. Parece que solo funciona si el archivo es local.¿Qué intento abriría un pdf desde una url?

Sé que esto dependerá de si algunas de las aplicaciones instaladas pueden manejar URL, pero debido a que tengo varios lectores de PDF instalados (algunos afirman que pueden leer archivos PDF en la web) y ninguno de ellos es respondiendo, quería ver si había algún problema con mi intento.

Esto es lo que actualmente estoy usando:

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.parse(url), "application/pdf"); 

Gracias

+0

Eche un vistazo a [este] (http://stackoverflow.com/questions/2883355/how-to-render-pdf-in-android/) publicación. –

Respuesta

28

Construir una dirección URL al pdf usando Google Docs Viewer. Esto termina cargando mucho más rápido ya que no tienen que descargar el archivo en su totalidad antes de poder mostrarlo.

private static final String googleDocsUrl = "http://docs.google.com/viewer?url="; 

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.parse(googleDocsUrl + url), "text/html"); 

recientemente hemos hecho algo similar, excepto que utilizamos nuestra propia actividad con una vista web integrado para visualizar el PDF en lugar de ir al navegador.

+0

¿Qué paso a "url"? ¿Debo subir mi documento? ¿No funciona en local (sin Internet)? – Emerald214

+1

Esmeralda, no funcionará sin conexión a Internet. Además, tu recurso debe estar en algún lugar de Internet. –

+0

No funciona. Recibo un mensaje que dice: Disculpas. No hay vista previa disponible – user2260040

14

Simplemente puede cargar la siguiente URL en la vista Web

webView.loadUrl("https://drive.google.com/viewerng/viewer?embedded=true&url=" + url); 

documentos de Google se encargará de cargar la URL PDF.

+6

Eso es exactamente lo que sugerí el año pasado. – matheeeny

+8

No realmente, el prefijo es diferente y nos muestra cómo cargarlo en un WebView en lugar de a través de Intent. Esto no es exactamente lo que LittleFluffyKitty estaba pidiendo, pero no es realmente digno de downvotes, y si funciona, podría ser útil para otros que visiten esta pregunta. ¿No? – SilithCrowe

Cuestiones relacionadas