Obtener imágenes N jpeg de N-Pages PDF

Obtener imágenes N jpeg de N-Pages PDF

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:

  1. Dígale a Ghostscript que use una dimensión de salida de 800 px por 600 px (píxeles).
  2. Dígale a Ghostscript que utilice una resolución de 300 ppp (puntos por pulgada).
  3. 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 -ry -gen 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 -g1652x2338a 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

información relacionada