Saltar al contenido

Abrir PDF en un WebView

Es imprescindible interpretar el código de forma correcta previamente a adaptarlo a tu proyecto si tquieres aportar algo puedes decirlo en los comentarios.

Solución:

(1) Google Docs Viewer, puede abrirlo en el navegador de Android como,

mWebView.loadUrl("https://docs.google.com/gview?embedded=true&url="+ webUrl);

Actualizar:

(2) Consulte esta biblioteca, en construir.gradle(módulo de aplicación) agregue esta dependencia,

compile 'com.github.barteksc:android-pdf-viewer:2.8.2'

Lo sé, esta pregunta es vieja.

Pero me gusta mucho el enfoque de Xamarin para hacer uso de pdf.js de Mozilla. Funciona en versiones anteriores de Android, no necesita una aplicación de visor de PDF especial para esto y puede mostrar fácilmente un PDF dentro de la jerarquía de vistas de sus aplicaciones.

Git para esto: https://mozilla.github.io/pdf.js/

Opciones adicionales: https://github.com/mozilla/pdf.js/wiki/Viewer-options

Simplemente agregue los archivos pdfjs a su directorio de Activos:

ingrese la descripción de la imagen aquí

Y llámalo de la siguiente manera:

// Assuming you got your pdf file:
File file = new File(Environment.getExternalStorageDirectory() + "/test.pdf");

webview = (WebView) findViewById(R.id.webview);
WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(true);
settings.setAllowFileAccessFromFileURLs(true);
settings.setAllowUniversalAccessFromFileURLs(true);
settings.setBuiltInZoomControls(true);
webview.setWebChromeClient(new WebChromeClient());
webview.loadUrl("file:///android_asset/pdfjs/web/viewer.html?file=" + file.getAbsolutePath());

Cosa chula: Si quieres reducir la cantidad de funcionalidades/controles. Vaya al archivo Assets/pdfjs/web/viewer.html y marque ciertos controles como ocultos. Con

style="display: none;"

Por ejemplo, si no le gusta la barra de herramientas correcta:


Actualización: Esto abrirá la aplicación integrada (Visor de PDF) para mostrar el archivo pdf si OS >= Marshmallow (API 23); de lo contrario, abrirá el navegador para mostrar el pdf usando el servidor “docs.google.com”.

WebView webView = new WebView(this);

    String url = "http://www.pdf995.com/samples/pdf.pdf"; 

    // Support all types of OS versions.
    if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
        webView.loadUrl(url); // This will open it with a built-in PDF viewer app.
    else
        webView.loadUrl("http://docs.google.com/viewerng/viewer?url="+ url); // This will open it with a browser. On Android 5.0 (Api 21 - Lollipop) and bellow.

    // Set Download listener.
    webView.setDownloadListener((url1, userAgent, contentDisposition, mimetype, contentLength)
            -> startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url1))));

Reseñas y puntuaciones del artículo

Nos puedes estimular nuestra tarea ejecutando un comentario y dejando una puntuación te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *