entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

[Android] Librerías para visualizar archivos PDF dentro de una app

Que tal, eh estado viendo algunas preguntas y encontré esta:
Visualizar un PDF en android

Pero no había respuestas :V.
Yo eh usado una librería para visualizarlo, pero no es muy buena que digamos, además, es un poco antigüa.
Me gustaría saber si saben de algunas como Mupdf o similar, ya que existen muchas formas de mostrar un PDF como por ejemplo usando un WebView y usando la herramienta de Google drive, pero es necesario hacer uso de datos, pero ese no es el caso.
Saludos.

1 Respuesta

3votos

cobasESP Puntos19650

Hola buenas, yo soy el autor de esa pregunta y se me olvido comentar la solución. Despues de mirar varias soluciones, encontré dos que funcionaban correctamente, pero me quede con la segunda.

-La primera es con un intent.ACTION_VIEW, mandar abrir el pdf con una app externa a la mia, pero el problema aqui es que si no tienes ninguna en tu móvil no se abrirá.

Y la segunda es crear un webview y darle las siguientes propiedades, ya qu tenia un webview creado para visualizar imágenes pero en este webview los pdf se veían en blanco. Este es mi código:

public class Visor extends Activity {
    private WebView web;
    private SharedPreferences prefs;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_visor);
        prefs = getSharedPreferences("ayuntaap", Context.MODE_PRIVATE);
        web = (WebView)findViewById(R.id.wv_visor);
        WebSettings settings = web.getSettings();
        settings.setLoadWithOverviewMode(true);
        settings.setUseWideViewPort(true);
        settings.setDomStorageEnabled(true);
        settings.setJavaScriptEnabled(true);
        settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
        settings.setBuiltInZoomControls(true);
        String url = prefs.getString("urld","");
        web.loadUrl(url);

    }
}

El sharedpreferences lo uso para guardar la web antes de pasarla al visor, ya que la app no es nativa sino una serie de webviews adaptados a android y lo tuve que hacer asi, tu podras pasar la url con un string normal en el intent.
Espero que te funcione

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta