read library example java image pdf jar

java - library - pdfbox example



Esta pregunta ya tiene una respuesta aquí:

Deseo convertir páginas PDF en una imagen (PNG, JPEG / JPG o GIF). Los quiero en tamaños de página completa.

¿Cómo se puede hacer esto usando Java? ¿Qué bibliotecas están disponibles para lograr esto?


En la biblioteca Ghost4J (http://ghost4j.sourceforge.net), desde la versión 0.4.0 puede usar un SimpleRenderer para hacer el trabajo con pocas líneas de código:

  1. Cargue el archivo PDF o PS (use la clase PSDocument para eso):

    PDFDocument document = new PDFDocument(); document.load(new File("input.pdf"));

  2. Crear el renderizador

    SimpleRenderer renderer = new SimpleRenderer(); // set resolution (in DPI) renderer.setResolution(300);

  3. Hacer

    List<Image> images = renderer.render(document);

Luego puede hacer lo que quiera con sus objetos de imagen, por ejemplo, puede escribirlos como PNG de esta manera:

for (int i = 0; i < images.size(); i++) { ImageIO.write((RenderedImage) images.get(i), "png", new File((i + 1) + ".png")); }

Nota: Ghost4J usa la API nativa de Ghostscript C, por lo que debe tener instalado un Ghostscript en su caja.

Espero que te ayude :)


Necesitará un procesador de PDF. Hay unos pocos más o menos buenos en el mercado (ICEPdf, pdfrenderer), pero sin eso, tendrá que depender de herramientas externas. Los renderizadores de PDF gratuitos tampoco pueden generar fuentes incrustadas, por lo que solo servirán para crear miniaturas (lo que eventualmente desee).

Mi herramienta externa favorita es Ghostscript, que puede convertir archivos PDF a imágenes con una sola invocación de línea de comando.

Esto convierte los archivos Postscript (y PDF?) A bmp para nosotros , solo como una guía para modificar para sus necesidades (¡sepa que necesita los archivos para que gs funcione!):

pushd setlocal Set BIN_DIR=C:/Program Files/IKOffice_ACME/bin Set GS=C:/Program Files/IKOffice_ACME/gs Set GS_DLL=%GS%/gs8.54/bin/gsdll32.dll Set GS_LIB=%GS%/gs8.54/lib;%GS%/gs8.54/Resource;%GS%/fonts Set Path=%Path%;%GS%/gs8.54/bin Set Path=%Path%;%GS%/gs8.54/lib call "%GS%/gs8.54/bin/gswin32c.exe" -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE#bmpmono -r600x600 -sOutputFile#%2 -f %1 endlocal popd


Si GPL está bien, puede echar un vistazo adicional a jPodRenderer (SourceForge)


jPDFImages no es gratuito, sino una biblioteca comercial que convierte páginas PDF a imágenes en formato JPEG, TIFF o PNG. El tamaño de la imagen de salida es personalizable.


Apache PDF Box puede convertir archivos PDF a jpg, bmp, wbmp, png y gif.

La biblioteca incluso viene con una utilidad de línea de comando llamada PDFToImage para hacer esto.

Si descarga el código fuente y observa la clase PDFToImage, debería ser capaz de descubrir cómo usar PDF Box para convertir archivos PDF a imágenes desde su propio código Java.