Created
June 2, 2014 14:34
-
-
Save pabloselin/be28c3074cbfaf828b41 to your computer and use it in GitHub Desktop.
Cómo convertir la primera página de un PDF a jpg
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function apie_pdfpagetojpg($attchid) { | |
//Verificar que se trata de un pdf | |
$mimtype = get_post_mime_type($attchid); | |
//Chequeos previos | |
//Obtener la ruta y el nombre del archivo | |
$archivo=get_attached_file($attchid); | |
$uploadsdir= wp_upload_dir(); | |
//Lo dejamos en un directorio separado de los uploads vía admin para mejor diferenciación, y además, es más práctico si luego queremos convertir esta función en un plugin | |
$img_path = $uploadsdir['basedir'] . '/pdfsnaps'; | |
$img_url = $uploadsdir['baseurl'] . '/pdfsnaps'; | |
//Crear el archivo con un prefijo y vinculado al ID del attachment para poder comprobar su creación. | |
$file_name='art-' . $attchid; | |
//Chequear si el archivo es un pdf, y además si es que no hemos creado el archivo previamente | |
if($mimtype == 'application/pdf' && !file_exists($img_path .'/'. $file_name . '.jpg')) { | |
// Conversión de archivo usando imagemagick | |
$dir="/usr/bin/convert"; | |
// Parámetros deseados para la conversión desde un PDF | |
$comando="$dir -colorspace RGB -resize 300 -interlace none -density 200 -quality 100 {$archivo}[0] $img_path/$file_name.jpg"; | |
exec($comando,$out); | |
$image=imagecreatefromjpeg($img_path . '/' . $file_name . '.jpg'); | |
//La siguiente línea me da un error en WP, no sé aún si es que hace algo muy importante, dado que de todas formas tengo mi JPG al final. | |
//header('Content-Type: image/jpeg'); | |
$image =imagejpeg($image, $img_path . '/' . $file_name . '.jpg'); | |
//unlink("$img_path/$file_name.jpg"); | |
// Me devuelve un comentario para saber si creó el archivo o está usando uno viejo | |
echo '<!--Archivo no existe-->'; | |
echo '<img src="'.$img_url.'/'.$file_name .'.jpg">'; | |
} elseif(file_exists($img_path .'/'. $file_name . '.jpg')) { | |
echo 'Archivo existe'; | |
echo '<img src="'.$img_url.'/'.$file_name . '.jpg">'; | |
} else { | |
//Alega si es que no es un PDF, probablemente aquí se puede poner una imagen genérica de relleno. | |
echo 'No es un pdf'; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment