Deseo convertir páginas PDF en una imagen (PNG, JPEG/JPG o GIF). Los quiero en tamaños de página completa.PDF para crear imágenes usando Java
¿Cómo se puede hacer esto usando Java? ¿Qué bibliotecas están disponibles para lograr esto?
Deseo convertir páginas PDF en una imagen (PNG, JPEG/JPG o GIF). Los quiero en tamaños de página completa.PDF para crear imágenes usando Java
¿Cómo se puede hacer esto usando Java? ¿Qué bibliotecas están disponibles para lograr esto?
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 archivos PostScript a BMP para nosotros, así como una guía de modificar para sus necesidades (y PDF?) (Sabe que necesita el env vars para GS a la obra!):
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
Hola Daniel, gracias por su respuesta rápida. ¿Puedo automatizar Ghostscript usando Java? Si es posible, ¿cómo puedo hacerlo? Donde puedo encontrar muy buen tutorial de Ghostscript, ¡Gracias de nuevo! –
Puede echarle un vistazo a Ghost4J http://ghost4j.sourceforge.net/coreapisamples.html – anergy
No es correcto que "los renderizadores gratuitos no puedan redner las fuentes incrustadas" - al menos jPodRenderer lo hace ... – mtraut
echar un vistazo a los artículos:
1) PdftoImage-Convert PDF to Image by using PdfRenderer library, enlace directo a source code
2) Java: Generating PDF and Previewing it as an Image – iText and PDF Renderer
Si GPL está bien que puede tener un aspecto adicional en jPodRenderer (SourceForge)
En la biblioteca Ghost4J (http://ghost4j.sourceforge.net), desde la versión 0.4.0 se puede utilizar un SimpleRenderer para hacer el trabajo con pocas líneas de código :
Cargar archivo PDF o PS (el uso de clase PSDocument para eso):
PDFDocument document = new PDFDocument();
document.load(new File("input.pdf"));
Crear el procesador de
SimpleRenderer renderer = new SimpleRenderer();
// set resolution (in DPI)
renderer.setResolution(300);
Render
List<Image> images = renderer.render(document);
entonces usted puede hacer lo que quiera con sus objetos de imagen, por ejemplo, se puede escribir como PNG así:
for (int i = 0; i < images.size(); i++) {
ImageIO.write((RenderedImage) images.get(i), "png", new File((i + 1) + ".png"));
}
Nota: Ghost4J utiliza la API nativa de Ghostscript C, por lo que debe tener un Ghostscript instalado en su caja.
espero que le ayudará a :)
Oye, recibo un error que dice "Excepción en el hilo" principal "java.lang.UnsatisfiedLinkError: no se puede cargar la biblioteca 'gsdll32': no se pudo encontrar el módulo especificado. " Ya he instalado la última versión de Ghostscript. Ayuda :( –
Esto significa que no se encontró la biblioteca de Ghostscript ... ¿En qué sistema operativo está trabajando? Asegúrese de que .dll/.so esté en la ruta de la biblioteca del sistema. – zippy1978
Simplemente instalar Ghostscript no funciona para mí. esto bu cayendo gsdll32.dll en la carpeta del proyecto Eclipse. – MyTitle
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 comandos llamada PDFToImage para hacer esto.
Si descarga el código fuente y mira la clase PDFToImage, debería ser capaz de descubrir cómo usar el PDF Box para convertir archivos PDF a imágenes desde su propio código Java.
es algo inconsistente para imágenes. Si hay un "ColorPattern" (no una imagen pero similar ... confuso) en el PDF fuente, no se copiará en el destino imagen de la nación http://stackoverflow.com/questions/28589477/pdfbox-pdf-to-image-losing-qr-code-colorspace-pattern-doesnt-provide-a-non-str?noredirect=1#comment45487987_28589477 – mmcrae
pero puede haber mejoras en la versión 2.x de PDFBox! (esperando) – mmcrae
Consulte https://pdfbox.apache.org/2.0/migration.html en PDF Rendering para obtener detalles sobre cómo hacer esto en PDFBox 2.0.0 – gordon613
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.
¿Está afiliado a ese producto? Por favor, asegúrese de leer las preguntas frecuentes en la promoción http://stackoverflow.com/faq#promotion – Leigh
Oh, sería interesante saberlo. También es bueno si hay una opción de cambio de tamaño. – Nishant
http://stackoverflow.com/questions/356550/a-good-library-for-converting-pdf-to-tiff –
@Nishant: cuando obtienes Image object puedes transformarlo;) – Maxym