Como leer archivos PDF en Android

Iniciado por MaX2, 23 Agosto 2021, 18:18 PM

0 Miembros y 1 Visitante están viendo este tema.

MaX2

Hola, estaba utilizando la librería PDFViewer, pero parece que ha muerto, lleva tiempo sin funcionar.

https://github.com/barteksc/AndroidPdfViewer

Así que me he puesto a buscar alguna solución para poder leer archivos PDF que se encuentren en la carpeta Documentos de la Memoria Externa, y no soy capaz de leer estos PDF.

He probado abrirlos desde el WebView con PDF.js pero solo funciona con archivos que estén en la carpeta Assets, aparte de que es muy lento, y tiene algunos inconvenientes más.

https://mozilla.github.io/pdf.js/


Uri path = Uri.parse(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) + "/1.pdf");
webView.loadUrl("file:///android_asset/pdfjs/web/viewer.html?file=" + path + "#zoom=page-width");



He probado con otras librerías, pero son muy pobres y no son muy practicas porque para pasar de página hay que utilizar botones, con lo que un documento grande es una pesadilla pulsar tantas veces el botón para pasar de página.

El PDF tengo que abrirlo en la misma aplicación, por lo que utilizar el código para abrir los pdf con aplicaciones externas no me sirve, y tampoco código que tenga que hacer uso de internet, porque la mayoría de las veces no tengo cobertura.


Si alguien me puede echar una mano para poder leer archivos PDF se lo agradecería.

P.D. No utilizo código kotlin

Gracias.

rub'n

Eso parece más java que otra cosa.

Usaste iText pdf? Esta api funciona si o si


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

MaX2

#2
Que tal rub'n, la verdad que no me entero como funciona la libreria iText para leer PDF, ya sea desde Assets, o desde la memoria externa  :-(

He intentado buscar un codigo para ver como poder leer los PDFs, pero lo que encuentro crear o extraer texto del PDF, y algunos comentarios dicen que iText no es un visor de PDFs.


Salu2.

MaX2

Hola, como te comentaba en el primer post, estaba utilizando la librería PDFViewer, que funcionaba de maravillas, pero al volver a compilar la aplicación me muestra esta este problema:



y como en la web github hay un comentario que dice "Looking for new maintainer!" según la traducción que hace google "Buscando nuevo mantenedor!" y con el fallo que lleva meses dándome, supongo que ya no se puede utilizar.


Me puedes poner un ejemplo con código para que pueda ver como utilizar la Liberia iText para mostrar PDFs ?



Salu2.

MaX2

No se si alguien mas puede responder, pero dejo una captura que muestra el error que se produce cuando se intenta generar el apk, es lógico que muestre un error ya que hay un problema, pero a ver si por el tipo de error puede dar una pista de porque no se puede utilizar esta librería.

Ya no se que pensar si es problema de esta librería PDFViewer, que pensaba que había muerto porque ya no la actualizaban, pero he probado con la librería PdfViewPager y paso lo mismo



Si alguien sabe porque no se actualizan las librerías o que es lo que esta impidiendo que se actualicen, le agradecería su ayuda.


Salu2.

rub'n

Okk okk, entiendo más ahora.

Ese visor, no se si con itext te ayude entiendo que no.

Probaste ?
https://developer.android.com/reference/android/graphics/pdf/PdfRenderer.html

Con itext pdf tu creas un pdf desde cero con java, no se si kotlin.



rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

MaX2

Si, Perú lo que me hace falta es ver un ejemplo de cómo leer esta PDF, que muy bien no creo que lo esté haciendo porque no me deja abrirlos.

Y el problema igual lo tengo en Android, tampoco es que este seguro, pero me tiene un poco mosca que como te digo en el post anterior no pueda leer de  librerías distintas..

rub'n

#7
Cita de: MaX2 en  4 Septiembre 2021, 06:51 AM
Si, Perú lo que me hace falta es ver un ejemplo de cómo leer esta PDF, que muy bien no creo que lo esté haciendo porque no me deja abrirlos.

Y el problema igual lo tengo en Android, tampoco es que este seguro, pero me tiene un poco mosca que como te digo en el post anterior no pueda leer de  librerías distintas..

Dependencias
https://mvnrepository.com/artifact/com.itextpdf/itext7-core/7.1.16

Prueba esto socio.
https://github.com/David-Hackro/ExamplesAndroid/tree/master/PDF/Creacion%20PDF

Dependencia de itext pdf
https://github.com/David-Hackro/ExamplesAndroid/blob/master/PDF/Creacion%20PDF/app/build.gradle


Clase de ejemplo donde se crear el PDF

https://github.com/David-Hackro/ExamplesAndroid/blob/master/PDF/Creacion%20PDF/app/src/main/java/com/example/hackro/itext/Metodos.java


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

MaX2

Amigo rub'n yo no quero crear PDFs, ya los tengo creados, solo quiero abrir los PDFs que ya tengo en la memoria externa, y abrirlos dentro de la aplicación.



Machacador

Cita de: MaX2 en  4 Septiembre 2021, 18:08 PM
Amigo rub'n yo no quero crear PDFs, ya los tengo creados, solo quiero abrir los PDFs que ya tengo en la memoria externa, y abrirlos dentro de la aplicación.


Y que tal si instalas alguna aplicacion de estas que aparecen aquí: https://www.xatakandroid.com/listas/mejores-apps-para-leer-editar-archivos-pdf-android

:rolleyes: :o :rolleyes:
"Solo tu perro puede admirarte mas de lo que tu te admiras a ti mismo"