Cómo agregar PDFBox a un proyecto de Android o sugerir una alternativa

Estoy intentando abrir un archivo pdf existente y luego agregar otra página al documento pdf desde una aplicación de Android. En la página agregada, necesito agregar texto y una imagen.

Estoy queriendo probar PDFBox. Otras soluciones como iTextPDF no son adecuadas para nuestra empresa debido a los términos / precios de la licencia.

Tengo un proyecto de biblioteca con el código base principal, y también proyectos completos y sencillos que hacen referencia al proyecto de la biblioteca.

Descargué el archivo jar de http://pdfbox.apache.org/download.html y lo copié en la carpeta lib de los proyectos de la biblioteca y agregué el archivo pdfbox-app-1.6.0.jar a las bibliotecas de comstackción java.

Puedo importar las bibliotecas con éxito, por ejemplo, import org.apache.pdfbox.pdmodel.PDDocument; y comstack todos los proyectos. Sin embargo, cuando ejecuto la aplicación, se bloquea en PDDocument document = new PDDocument(); con el siguiente error

E / AndroidRuntime (24451): java.lang.NoClassDefFoundError: org.apache.pdfbox.pdmodel.PDDocument

Leí en alguna parte que la versión 1.5 de PDFBox en adelante no funcionaba con Android, así que traté de descargar el archivo pdfbox-app-1.4.0.jar pero tuve el mismo problema. También agregué la biblioteca a la ruta de comstackción en mis proyectos completos y ligeros, pero obtuve el mismo error o eclipse que se mantuvo bloqueado con un error de falta de memoria.

¿Alguien puede decirme qué estoy haciendo mal? ¿He descargado el archivo incorrecto? ¿Lo he importado correctamente?

Gracias,

PDFBox usa java awt y swing, incluso para tareas que no son de UI. He tratado de eliminar referencias, pero hay muchos archivos y estaba eliminando demasiadas cosas.

Acabo de probar PDFjet http://sofes.miximages.com/android/sample.pdf); PDF pdf = new PDF(fos); InputStream f = getApplicationContext().getAssets().open(img0.jpg”); Image image = new Image(pdf, f, ImageType.JPEG); Page page = new Page(pdf, A4.PORTRAIT); image.setPosition(0, 0); image.drawOn(page); pdf.flush(); fos.close(); } catch (Exception e) { e.printStackTrace(); }

Encontré el enlace aquí http://java-source.net/open-source/pdf-libraries

Puerto Android de PDFBox

Hay un puerto Android de PDFBox disponible aquí:

https://github.com/TomRoush/PdfBox-Android

Creo que los archivos de clase de la biblioteca no están incluidos en el archivo apk. Las clases de la biblioteca deben convertirse en archivos dex y solo se detectarán. Por favor, consulte http://developer.android.com/guide/developing/building/index.html.