Saltar al contenido

Abrir PDF en WebView

Solución:

(1) Visor de documentos de Google, puede abrirlo en el navegador Android como,

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

Actualizar:

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

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

Lo sé, esta pregunta es vieja.

Pero realmente me gusta el enfoque de Xamarin para hacer uso del 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());

Lo bueno: 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:

<div id="toolbarViewerRight" style="display: none;">...</div>

Actualización: Esto abrirá la aplicación incorporada (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))));
¡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 *