
Tengo un PDF compuesto por N páginas. Quiero convertir este PDF en imágenes N jpeg (mediante línea de comando, sin Php, Java u otros lenguajes de programación).
Estoy intentando hacer esto con GHOSTSCRIPT, pero el resultado que me proporciona GS nunca es como el resultado que estoy buscando.
Ejemplo:
gs \
-sDEVICE=jpeg \
-dNOCACHE \
-dDEVICEHEIGHTPOINTS=72 -dDEVICEWIDTHPOINTS=72 \
-r300 \
-g800x600 \
-dFIXEDMEDIA \
-dPDFFitPage \
-sOutputFile=output/%d.jpg \
mypdf.pdf
Produzco imágenes N jpeg con resolución de 800x600, pero parece que la página PDF está recortada y no encaja.
¿Cómo puedo simplemente obtener N imágenes jpeg de un PDF de N páginas (desde la línea de comando)?
Respuesta1
La línea de comando que utilizó alesdario hace lo siguiente:
- Dígale a Ghostscript que use una dimensión de salida de 800 px por 600 px (píxeles).
- Dígale a Ghostscript que utilice una resolución de 300 ppp (puntos por pulgada).
- Dígale a Ghostscript que use una dimensión de salida de 72 puntos de dispositivo.
Los tres no pueden funcionar al mismo tiempo, porque si dos van juntos contradirán al tercero.
A 300 ppp, un lienzo de 800 x 600 dará como resultado una dimensión física de 2,33 x 2 pulgadas (pulgadas), mucho menos que el tamaño de la página PDF original (probablemente).
A'simplemente obtenga N imágenes jpeg de un PDF de N páginas (desde la línea de comando)'usa este comando:
gs \
-sDEVICE=jpeg \
-o output/%d.jpg \
mypdf.pdf
Esta es la llamada más sencilla, no recortará nada y utilizará la configuración predeterminada de Ghostscript para:
- resolución de imagen: esto es 72 ppp para salida JPEG
- Dimensión de las imágenes de salida: esto sigue el tamaño de página PDF respectivo (sin embargo, Ghostscript asume que PDF usa 720 ppp).
Para obtener N imágenes JPEG de un PDF de N páginascon una resolución predefinida y una dimensión de imagen predefinida, necesita hacer algunos cálculos usted mismo y configurar los valores -r
y -g
en consecuencia. Por ejemplo, es posible que desee 200 ppp para su JPEG (a partir de tamaños de página PDF que eran ISO A4 [595x842 pt]): eso significa que debe agregarlos -r200 -g1652x2338
a la línea de comandos si desea evitar el recorte... Esto hará que Ghostscriptremuestreartodas las páginas y los objetos contenidos en ellas a la nueva resolución.
Respuesta2
IntentarImagenMagia. El comando que quieres, creo, es:
$ convert -density 400 my.pdf my.jpeg