Quiero mostrar contenido en pdf en webview. Aquí está mi código:
WebView webview = new WebView(this);
setContentView(webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://www.adobe.com/devnet/acrobat/pdfs/pdf_open_parameters.pdf");
Me aparece una pantalla en blanco. También he configurado el permiso de Internet.
You've reached the bandwidth limit for viewing or downloading files that aren't in Google Docs format....
. Entonces no parece confiable.Si utiliza la URL de solo visualización, el usuario no puede iniciar sesión en su cuenta de Google.
fuente
Abrir un pdf usando google docs es una mala idea en términos de experiencia de usuario. Es realmente lento y no responde.
Solución después de API 21
Desde api 21, tenemos PdfRenderer que ayuda a convertir un PDF a Bitmap. Nunca lo he usado, pero parece bastante fácil.
Solución para cualquier nivel de api
Otra solución es descargar el PDF y pasarlo a través de Intent a una aplicación de PDF dedicada que hará un gran trabajo mostrándolo. Experiencia de usuario rápida y agradable, especialmente si esta función no es central en su aplicación.
Utilice este código para descargar y abrir el PDF
}
Para que Intent funcione, debe crear un FileProvider para otorgar permiso a la aplicación receptora para abrir el archivo.
Así es como lo implementa: En su manifiesto:
Finalmente cree un archivo file_paths.xml en el foler de recursos
Espero que esto ayude =)
fuente
Utilice este código:
fuente
Aquí cargue con progressDialog. Necesito darle WebClient, de lo contrario, forzará a abrirse en el navegador:
fuente
Puede utilizar el proyecto Mozilla pdf.js. Básicamente te mostrará el PDF. Mire su ejemplo .
Solo lo uso en el navegador (escritorio y móvil) y funciona bien.
fuente
En realidad, todas las soluciones eran bastante complejas y encontré una solución realmente simple (no estoy seguro de si está disponible para todas las versiones de sdk). Abrirá el documento pdf en una ventana de vista previa donde el usuario puede ver y guardar / compartir el documento:
(Kotlin)
fuente
Descargue el código fuente desde aquí ( Abrir pdf en webview android )
activity_main.xml
MainActivity.java
fuente
Este es el límite de uso real que Google permite antes de que obtenga el error mencionado en los comentarios , si es un pdf único en la vida que el usuario abrirá en la aplicación, entonces creo que es completamente seguro. Aunque se recomienda seguir el enfoque nativo utilizando el marco integrado en Android de Android 5.0 / Lollipop, se llama PDFRenderer .
fuente
fuente