2011-08-17 21 views
7

Me gustaría renderizar/abrir archivos PDF (almacenados en SDCard) en Android sin utilizar la aplicación in-build o el visor.Android PDF Rendering

1) Hemos intentado con la biblioteca de código abierto MuPDF, pero el renderizado con esta biblioteca es muy lento.

2) ¿Podemos usar la biblioteca iText para representar archivos PDF en Android (es decir, iText como un visor de PDF).

¿Hay alguna otra biblioteca de PDF (código abierto) que se pueda usar en Android? O sugiera una guía básica para desarrollar el visor de PDF para Android.

Respuesta

4

He hecho algunas investigaciones en este campo recientemente, he probado más de 14 bibliotecas en Android, he hecho benchmarking simple en algunas revistas PDF de alta resolución listas para imprimir y actualmente estoy considerando usar MuPDF o Radaee en el trabajo, ya que salieron como los mejores.

He intentado VuDroid y apv también y son muy inestables, se estrellan muy a menudo en documentos PDF complejos y muy lento en comparación con MuPDF o Radaee.

Dado que MuPDF y Radaee (y algunas otras bibliotecas) están escritas en C puro y se usan en Android a través de NDK, están dando el mejor rendimiento posible (y ambas se pagan por un uso comercial).

+0

parece que todo MuPDF (derivado VuDroid, apv), Radaee no son adecuados para su uso en aplicaciones pagas. ¿Es esa una biblioteca en formato PDF que se puede usar en una aplicación de pago? – manhon

+1

No estoy seguro de qué es exactamente lo que está preguntando, pero si su pregunta es qué biblioteca es libre de usar con fines comerciales, podría buscar la biblioteca PDFBox. Aunque es una biblioteca de Java, puede haber algún puerto para Android en alguna parte (por ejemplo, parece que está comenzando algún proyecto en GitHub: https://github.com/jeremyvillalobos/android-pdfbox-port) ...también existe otra biblioteca de PDF java llamada PDFView from Sun que es completamente gratuita. –

8

1) MuPDF es bueno para renderizar pdf de libros de texto en Android, mientras que puede ser lento para renderizar pdf con imágenes grandes. Es necesario realizar muchas personalizaciones y mejoras, especialmente el control del uso de la memoria, si desea que el MuPDF se ejecute de manera rápida y estable en la plataforma de Android. Puede consultar dos proyectos de código abierto VuDroid y apv que se basan en MuPDF.

2) Depende de sus necesidades. El iText puede ser suficiente para renderizar texto simple en pdf, pero no creo que tenga un mejor rendimiento que MuPDF u otras bibliotecas que se desarrollaron mediante el uso de C/C++.

Otra opción es usar Poppler. Una historia exitosa es la popular aplicación para Android ezPDF Reader se basa en Poppler, aunque está violando la licencia GPL. El Outple Box Poppler necesita más trabajo que MuPDF para funcionar sin problemas en Android. Puede consultar el proyecto de código abierto apdfviewer.

+0

Gluttony Gracias por su pronta respuesta: intentaré con las opciones sugeridas y le haré saber ... Al mismo tiempo, estoy explorando algunas cosas y encontré una opción más, es decir, PDFBox, ¿podemos usar eso en Android como visor de PDF ... – user895935

+2

¿Por qué crees que ezPDF se basa en Poppler? – Vanuan

+0

Pressreader de Newspaper Direct también está utilizando Poppler, funciona bastante bien también, aunque la panoramización es un poco lenta. –

0

Eche un vistazo a mi lector de PDF para Android here at anddev. Como recuerdo, usa PDFBox modificado (sin cosas relacionadas con la edición), y presenta mi propio convertidor de fuentes (para alimentar fuentes a Android y procesarlas más rápido).

Ya no desarrollo el lector de PDF y puedo hacer que todos mis cambios sean de código abierto (aunque requerirá algo de trabajo, y tiempo). Puede probarlo para descubrir qué tan bien funciona para usted. Nota: el lector no es compatible con el cifrado y la protección contra copia.