Separar un pdf en imágenes con ImageMagick

Separar un pdf en imágenes con ImageMagickSeparar un pdf en imágenes con ImageMagick @tar.mx

Si por algún motivo queremos separar un pdf en imágenes (tantas como tenga el PDF) entonces utilizamos ImageMagick, específicamente la herramienta convert. El script ejemplo:

<?php
   $file = "/tmp/documento.pdf";
   //identificamos número de hojas
   $info = "/usr/bin/identify $file";
   $info = `$info`;
   preg_match_all("/[([0-9]{1,})]/",$info,$pag);
   $hojas = []; //usar $hojas = array(); en php viejos
   if(!empty($pag[1])) {
      $tmpfile = uniqid();
      foreach($pag[1] AS $hoja) {
         $img = "/tmp/".$tmpfile."-".$hoja.".jpg";
         $cmd = sprintf('convert -thumbnail 720 -density 300 -background white -flatten %s[%d] %s',$file,$hoja,$img);
         $cmd = `$cmd`;
         $hojas[$hoja] = $img;
      }
   }
   print_r($hojas);
   // $hojas tiene las imagenes del pdf
   // después se podría recorrer ese mismo arreglo para eliminar los .jpg temporales.

Teniendo el archivo "/tmp/documento.pdf" y ejecutando el script, nos daría algo como lo que sigue:

Separar un pdf en imágenes con ImageMagickSeparar un pdf en imágenes con ImageMagick @tar.mx

Es decir, tendremos 3 archivos imagen que conforman el PDF inicial. Una vez que se tienen las imágenes y en el script el arreglo de las mismas se puede hacer lo que sea necesario con ellas, borrarlas de ser necesario.

ps. la densidad, el ancho y demás se pueden ajustar para que sea más rápido el comando que convierte.

+ fotos / videos

https://panchito-kardashian.tar.mx/media/2017/08/pdf.png

Almacenado en PHP, convert, imagemagick

por Jorge Martínez Mauricio :)

blog / fotos / archivo

Separar un pdf en imágenes con ImageMagick

tar.mx es un blog sobre fotografía, tecnología y otras chunches

modificado miércoles 14 de julio de 2021, 09:57

cuentame