¿Cuáles son los parámetros que debo aprobar? La versión de Ghostscript que estoy usando es 8.71.Usando Ghostscript para convertir JPEG a PDF
Respuesta
gs \
-sDEVICE=pdfwrite \
-o foo.pdf \
/usr/local/share/ghostscript/8.71/lib/viewjpeg.ps \
-c \(my.jpg\) viewJPEG
lee my.jpg y produce foo.pdf. Deberá encontrar dónde instaló su instalación el programa PostScript viewjpeg.ps
.
use 'locate' para encontrar la ubicación de' viewjpeg.ps' –
GhostScript es un intérprete PostScript, por lo que no admite directamente una entrada JPEG, solo una salida JPEG. Dicho esto, admite la descompresión JPEG (excepto JPEG progresivo).
Hay un programa PostScript y una secuencia de comandos de shell que lo acompaña que puede utilizar para aprovechar esta llamada jpeg2eps. Para obtener un PDF, la mayoría de los sistemas tienen el script pstopdf
disponible para su uso, que ejecuta cada uno de los archivos de entrada (se usaría el resultado del script jpeg2eps) a través de GhostScript.
He estado utilizando la misma línea de comandos básica que Henry dio en su respuesta desde hace bastante tiempo en un simple script de Bash, con algunos retoques.
Mi guión completo convierte varias imágenes JPEG a un PDF de varias páginas, usando este comando modificado:
gs \
-sDEVICE=pdfwrite \
-o foo.pdf \
/usr/local/share/ghostscript/9.02/lib/viewjpeg.ps \
-c "(1st.jpg) viewJPEG showpage \
(2nd.jpg) viewJPEG showpage \
(3rd.jpg) viewJPEG showpage \
(last.jpg) viewJPEG showpage"
Se llama así:
jpegs2pdf.sh output.pdf file1.jpeg [file2.jpeg [file2.jpeg [...]]]
El problema es que este comando usaría el mismo tamaño de página predeterminado (por defecto) de Ghostscript (generalmente Carta o A4 en modo retrato), y cada imagen JPEG se ajustará para ajustarse a este ancho de página y/o altura de página, ubicándose en la esquina inferior izquierda.
Mi script hace que cada página PDF use las mismas dimensiones de página que el JPEG original de la página. Para la detección automática de las dimensiones del JPEG, utilizo identify
comandos de ImageMagick:
identify -format "%[fx:(w)] %[fx:(h)]" some.jpeg
Este es el código del guión completo:
#!/bin/bash
#
#############################################################################
#
# Shellscript to convert a set of JPEG files to a multipage PDF.
#
# Requirements: (1) Ghostscript needs to be installed on the local system.
# (2) ImageMagick needs to be installed on the local system.
#
# Usage: jpegs2pdf.sh output.pdf file1.jpeg [file2.jpeg [file2.jpeg [...]]]
#
# Copyright (c) 2007, <[email protected]>
# Use, distribute and modify without any restrictions.
#
# Versions:
# v1.0.0, Jul 12 2007: initial version
# v1.0.1, Jan 07 2011: set viewJPEG.ps path (self-compiled GS 9.02)
#
#############################################################################
outfile=$1
shift
param=""
for i in "[email protected]" ; do
dimension=$(identify -format "%[fx:(w)] %[fx:(h)]" "${i}")
param="${param} <</PageSize [${dimension}]>> setpagedevice (${i}) viewJPEG showpage"
done
gs \
-sDEVICE=pdfwrite \
-dPDFSETTINGS=/prepress \
-o "$outfile" \
/usr/local/share/ghostscript/9.02/lib/viewjpeg.ps \
-c "${param}"
hay y usé su script sin 'identify-format' y se generó el pdf, pero las imágenes .jpg están alineadas en el botón ¿Cómo puedo llevarlas a la parte superior de la página en pdf? . y 'identifique -format"% [fx: (w)]% [fx: (h)] "some.jpeg ' devuelve nulo, así que no puedo usarlo. – run
@run: ¿con qué sistema operativo estás ejecutando 'identify'? ¿Qué te dice 'identity -version'? También puede usar 'identify some.jpeg' manualmente, que devolverá una línea que indica las dimensiones WxH del JPEG en píxeles, que luego puede usar para insertar manualmente en la línea de comandos .... –
unix. y lo alcanzo por 'dimension = $ (identificar-formateo"% w% h "" $ {x} ")' pero ¿hay alguna otra manera que usar 'ancho y alto' para establecer la imagen en la parte superior de la página en lugar de fondo. Estaría encantado si recibo algún enlace para obtener una buena documentación sobre esto. – run
, alternativamente, en algunas distribuciones de Linux convert pic1.jpg pic2.jpg out.pdf
hace el trabajo con resultados mixtos
Funcionó bien para mí. Advertencia: muy hambriento de memoria, la fusión de 80 archivos JPEG tomó 30 minutos de intercambio aquí. – liori
Eso es porque ImageMagick decodifica y recodifica completamente los datos JPEG. No solo es lento y requiere mucha memoria, sino que también genera [pérdida de generación] (http://en.wikipedia.org/wiki/Generation_loss). Ver img2pdf en otro lugar en esta página. –
https://gitlab.mister-muffin.de/josch/img2pdf
según lo mencionado por PleaseStand Ghostscript decodificar los datos JPEG , lo que resulta en generation loss, así como el rendimiento "diez a cien" veces peor que img2pdf.
ImageMagick (es decir, convert
) también decodifica y vuelve a codificar las imágenes.
Gracias por esto. El uso de cualquiera de los otros métodos lleva mucho tiempo con cualquier cantidad no trivial de imágenes. – emacsomancer
Tengo la versión de Ghostscript 9.10, por lo que el comando con la siguiente línea NO trabajó para mí
/usr/local/share/ghostscript/9.02/lib/viewjpeg.ps
así que modifid el comando y editado la línea y INSTED utilizaron este, que trabajó para mí
viewjpeg.ps
Así que la NUEVO COMANDO MODIFICADOS es el siguiente:
gs \
-sDEVICE=pdfwrite \
-o foo.pdf \
viewjpeg.ps \
-c "(1st.jpg) viewJPEG showpage \
(2nd.jpg) viewJPEG showpage \
(3rd.jpg) viewJPEG showpage \
(last.jpg) viewJPEG showpage"
- 1. ¿Convertir EPS/PDF a JPEG/PNG?
- 2. Guardar pdf a jpeg usando C#
- 3. Ghostscript Multipágina PDF a PNG
- 4. Ajuste automático de altura/anchura para el convertida JPEG de un PDF utilizando GhostScript
- 5. Convertir PDF a JPEG con PHP e ImageMagick
- 6. Usando iText para convertir HTML a PDF
- 7. Use Ghostscript para convertir PCL a PostScript
- 8. Convertir PNG a JPEG
- 9. Ghostscript: PDF total de páginas
- 10. ¿Cómo puedo usar Ghostscript para convertir XPS a PDF o XPS a DOC?
- 11. Cómo convertir PDF a JPEG de baja resolución (pero de buena calidad)?
- 12. Obedecer la MediaBox/CropBox en PDF cuando se utiliza Ghostscript para hacer un PDF a PNG
- 13. El uso de Ghostscript en modo de servidor para convertir archivos PDF a PNG
- 14. Parámetros de línea de comandos de Ghostscript para convertir EPS a PDF
- 15. Java API para convertir JPEG a TIFF
- 16. ¿Es posible en Ghostscript para añadir marca de agua a todas las páginas en PDF
- 17. ¿Cómo se convierten archivos PDF a PNG con ghostscript?
- 18. Cambiar el tamaño de un PDF usando Ghostscript
- 19. Convertir de PDF a Postscript usando Java
- 20. Convertir PDF a PNG usando ImageMagick
- 21. Cómo convertir svg a eps en ghostscript
- 22. Recortar un cuadro de recorte PDF/Adding usando Ghostscript
- 23. ¿Cómo convertir imágenes a pdf usando PHP?
- 24. Convertir docx a pdf usando PHP
- 25. Convertir archivo PDF a imágenes usando C#
- 26. Como llegar Ghostscript para utilizar fuentes incrustadas en PDF
- 27. Convierta un PDF a un PNG transparente con GhostScript
- 28. convertir HTML a PDF
- 29. Ghostscript para fusionar archivos PDF comprime el resultado
- 30. División de un PDF con Ghostscript
Como se mencionó en otra parte de esta página, el uso de Ghostscript para esto innecesariamente decodifica y vuelve a codificar los datos JPEG. Ver img2pdf en su lugar, en esta página. –