mac gsview ghostview descargar artifex ghostscript

gsview - Usando Ghostscript para convertir JPEG a PDF



ghostscript mac (6)

¿Cuáles son los parámetros que debo pasar? La versión de Ghostscript que estoy usando es 8.71.


GhostScript es un intérprete de PostScript, por lo que no admite directamente una entrada JPEG, solo una salida JPEG. Dicho esto, sí es compatible con la descompresión JPEG (excepto para JPEG progresivo).

Hay un programa PostScript y un script de shell que puede usar para aprovechar esto llamado 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 la salida del script jpeg2eps) a través de GhostScript.


He estado usando la misma línea de comandos básica que Henry dio en su respuesta desde hace bastante tiempo en un sencillo script de Bash, con algunos ajustes.

Mi script completo convierte múltiples imágenes JPEG en un PDF de varias páginas, utilizando 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) de Ghostscript (generalmente Carta o A4 en modo vertical), y cada imagen JPEG se escalará para ajustarse a este ancho de página y / o página, colocá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 para la página. Para el descubrimiento automático de las dimensiones de JPEG, uso el comando de identify de ImageMagick:

identify -format "%[fx:(w)] %[fx:(h)]" some.jpeg

Aquí está el código del script 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 "$@" ; 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}"


Tengo Ghostscript versión 9.10 , por lo que el comando con la línea a continuación NO TRABAJÓ PARA MÍ

/usr/local/share/ghostscript/9.02/lib/viewjpeg.ps

así que modifiqué el comando y edité la línea e instalé esto, FUNCIONÓ PARA MÍ

viewjpeg.ps

Así que el NUEVO MANDO MODIFICADO está abajo:

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"


alternativamente, en algunas distribuciones de Linux, convert pic1.jpg pic2.jpg out.pdf hace el trabajo con resultados mixtos



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 . Tendrá que encontrar dónde instaló su instalación el programa PostScript viewjpeg.ps .