2010-11-30 30 views
6

Investigo cómo extraer imágenes de un archivo PDF grande (> 300MB). Estoy usando pdfbox, pero por alguna razón particular que no puedo entender, algunas páginas no se extraen correctamente.Cómo extraer imágenes del pdf usando Java (sin usar el pdfbox)

Estoy utilizando la clase PDFToImage de pdfbox como base para mi código.

Entonces, ¿conoce otra biblioteca que me pueda ayudar a hacer esto? Sé que se puede usar iText, pero he leído que no se puede usar para productos comerciales.

He instalado los paquetes xpdf y xpdf-utils, y la herramienta llamada pdfimages funciona perfectamente. Pero necesito resolver este problema desde Java y debería ser portátil.

+0

Puede portar xpdf-utils a Java. – erjiang

+1

iText está bajo GPL a menos que compre una licencia comercial. –

+0

Probaré con las versiones <5, creo que el cambio en los términos de licencia se cambió para las versiones> = 5. –

Respuesta

5

Creo que estás hablando de dos cosas diferentes aquí: extraer imágenes de un PDF y convertir páginas de PDF en imágenes. PDFToImage mostrará una imagen para cada página, mientras que pdfimages extrae todas las imágenes incrustadas (por ejemplo, un documento de texto tiene 0 imágenes).

Eche un vistazo a org.apache.pdfbox.ExtractImages para ver si hace lo que quiere.

+0

Sí, tienes razón, estoy tratando de convertir una página PDF en una imagen, no para extraer todas las imágenes incrustadas. El caso es que el PDF que estoy usando en este caso particular tiene una imagen por página. Perdón por el malentendido. También compruebo ExtractImages sin suerte. –

+0

Finalmente utilicé el pdfbox, el hecho es que el pdfbox no extraerá correctamente las imágenes en PDF que tienen fuentes que no son reconocidas, o el espacio de color CMYK. Para archivos PDF sin estos problemas, la biblioteca funciona bien. –

0

La razón más probable por la que es difícil trabajar con PDF de 300 Mb es que se queda sin memoria. Si funciona bien para archivos PDF más pequeños, me gustaría ver más de cerca por qué falla.

0

¿Has probado icepdf o JPedal (ambos java puro)?

+0

Nop, no lo hice. ¿Puedo usar cualquiera de esos en un producto comercial? –

+0

Ambos tienen LGPL y versiones comerciales. Puede usar cualquiera de los dos en un producto comercial. –

+0

He probado Icepdf, las páginas están bien, pero ahora tengo problemas con las fuentes :(. Estoy usando esto como una guía: http://wiki.icefaces.org/display/PDF/Converting+ PDF + Página + Renderings –

Cuestiones relacionadas