Android no tiene soporte para PDF en sus bibliotecas. ¿Hay alguna forma de representar archivos PDF en las aplicaciones de Android?
java
android
pdf
android-pdf-api
alexleutgoeb
fuente
fuente
Respuestas:
Desde API Level 21 (Lollipop), Android proporciona una clase PdfRenderer :
Para obtener más información, consulte la aplicación de muestra .
Para las API más antiguas, recomiendo la biblioteca Android PdfViewer , es muy rápida y fácil de usar, con licencia de Apache License 2.0:
fuente
PDFView Library
? ¿Qué deberíamos ponerpdfName
? ¿Qué significan las funcionesonDraw
,onLoad
yonPageChange
oyente parece? Gracias por su ayuda :)Tomado de mi blog:
fuente
He hecho un enfoque híbrido a partir de algunas de las respuestas dadas a esta y otras publicaciones similares:
Esta solución verifica si hay instalada una aplicación de lector de PDF y hace lo siguiente: - Si hay un lector instalado, descargue el archivo PDF en el dispositivo e inicie una aplicación de lector de PDF - Si no hay ningún lector instalado, pregúntele al usuario si desea ver el archivo PDF en línea a través de Google Drive
¡NOTA! Esta solución utiliza la
DownloadManager
clase de Android , que se introdujo en API9 (Android 2.3 o Gingerbread). Esto significa que no funciona en Android 2.2 o anterior.Escribí una publicación de blog al respecto aquí , pero proporcioné el código completo a continuación para completar:
fuente
Descargue el código fuente aquí ( Mostrar archivo PDF dentro de mi aplicación de Android )
Agregue esta dependencia en su Grado: compile 'com.github.barteksc: android-pdf-viewer: 2.0.3'
activity_main.xml
MainActivity.java
fuente
assetFileName
archivo pdf debe existir en laassets
carpetaFinalmente pude modificar el código de butelo para abrir cualquier archivo PDF en el sistema de archivos de Android usando
pdf.js
. El código se puede encontrar en mi GitHubLo que hice fue modificar el
pdffile.js
argumento HTML para leerfile
así:Entonces, lo que debe hacer es agregar la ruta del archivo después de
index.html
esto:Actualice la
path
variable para que apunte a un PDF válido en el sistema de archivos Adroid.fuente
puedes usar un método simple importando
y el código XML es
y simplemente declara y agrega un archivo a una carpeta de activos y simplemente asigna el nombre
fuente
PdfiumAndroid
que ya tiene 18.4MBagl.pdf
archivo debe existir en laassets
carpetaPara agregar un poco de luz a esto, tendría que ir con la solución pdf.js de Mozilla. Aquí está el enlace a una implementación bien escrita de esto: https://bitbucket.org/butelo/pdfviewer/ .
Estas son las ediciones que agregué en mi Actividad de Android:
Aquí están las ediciones que hice
pdffile.js
:fuente
Utilicé el siguiente código para abrir e imprimir el PDF usando Wi-Fi. Estoy enviando todo mi código, y espero que sea útil.
fuente
De todos modos, no hay una vista previa del documento PDF en la vista web de Android. Si desea obtener una vista previa de base64 pdf. Se requiere una biblioteca de terceros.
construir.
dialog_pdf_viewer
DailogPDFViewer.java
fuente