Lo sé, esta pregunta es anterior.
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 especial de PDF Viewer para esto y puede visualizar fácilmente un PDF dentro de de su jerarquía de vistas de aplicaciones.
Git para esto: https://mozilla.github.io/pdf.js/
opciones adicionales por defecto (como el zoom estándar): https://github.com/mozilla/pdf.js/wiki/Viewer-options
Sólo tiene que añadir los archivos pdfjs a su directorio de Activos:
Y la llamada 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() + "#zoom=page-width");
Cosa interesante: si desea reducir la cantidad de funciones/controles. Vaya al archivo Assets/pdfjs/web/viewer.html y marque ciertos controles como ocultos. Con
style="display: none;"
E.g. Si no te gusta la barra de herramientas derecha:
<div id="toolbarViewerRight" style="display: none;">...</div>
probar este webview.loadUrl ("http://docs.google.com/gview?embedded=true&url=http://myurl.com/demo.pdf "); – Sameer
¿Encontró una solución? –