source open imagen fondo convertir code php image pdf lamp

open - ¿Cómo convierto un documento PDF en una imagen de vista previa en PHP?



pdf to image php (10)

¡Instalo terminado! ¡Funcionó!

Puede hacer instalar base imagemagick en Windows.

En php (local) use call exec(<command line>) ex:

<?php $pdf = "filename.pdf"; $info = pathinfo($pdf); $file_name = basename($pdf,''.''.$info[''extension'']); echo $file_name; $pdf = "filename.pdf[0]"; exec("convert $pdf convert-img/$file_name.jpg"); ?>

Además, puedes usar la class imagick en la clase PHP Imagick

¡Gracias a todos, me ayudaron!

¿Qué bibliotecas, extensiones, etc. se necesitarían para representar una parte de un documento PDF en un archivo de imagen?

La mayoría de las bibliotecas de PHP PDF que he encontrado se centran en la creación de documentos PDF, pero ¿existe una forma sencilla de procesar un documento en un formato de imagen adecuado para uso web?

Nuestro entorno es una pila LAMP.


Aquí hay una clase simple que he escrito y usado en un par de proyectos. Simplemente envuelve imagick y se encarga de escribir cada página en el disco. Si alguien todavía está buscando una forma fácil de hacerlo, este enlace podría ser útil.


Necesita ImageMagick y GhostScript

<?php $im = new imagick(''file.pdf[0]''); $im->setImageFormat(''jpg''); header(''Content-Type: image/jpeg''); echo $im; ?>

El [0] significa page 1 .


Para aquellos que no tienen ImageMagick por alguna razón, las funciones de GD también funcionarán, junto con GhostScript. Ejecute el comando ghostscript con exec() para convertir un PDF a JPG y manipule el archivo resultante con imagecreatefromjpeg() .

Ejecute el comando ghostscript:

exec(''gs -dSAFER -dBATCH -sDEVICE=jpeg -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r300 -sOutputFile=whatever.jpg input.pdf'')

Para manipular, cree una nueva imagen de marcador de posición, $newimage = imagecreatetruecolor(...) , e $newimage = imagecreatetruecolor(...) la imagen actual. $image = imagecreatefromjpeg(''whatever.jpg'') , y luego puede usar imagecopyresampled() para cambiar el tamaño o cualquier cantidad de otros comandos incorporados que no sean imagemagick



Si está cargando el PDF desde un blob, así es como obtiene la primera página en lugar de la última página:

$im->readimageblob($blob); $im->setiteratorindex(0);


Soy el autor de PDFlib que es un contenedor GhostScript para php, la ventaja de usar esta biblioteca es que ya está probado y no requiere ImageMagic

Los comandos siempre GhostScript son más rápidos que ImageMagic cuando se trata de archivos PDF, por lo que debe optar por un contenedor GhostScript o comandos GhostScript puros

$pdflib = new ImalH/PDFLib/PDFLib(); $pdflib->setPdfPath($pdf_file_path); $pdflib->setOutputPath($folder_path_for_images); $pdflib->convert();


También puede intentar ejecutar la utilidad ''convertir'' que viene con imagemagick.

exec("convert pdf_doc.pdf image.jpg"); echo ''image-0.jpg'';


También puede obtener el recuento de páginas usando

$im->getNumberImages();

Entonces puede crear pulgares de todas las páginas usando un bucle, ej.

''file.pdf[''.$x.'']''


Usa la extensión php Imagick . Para controlar el tamaño deseado de la imagen de salida de ráster, use la función setResolution

<?php $im = new Imagick(); $im->setResolution(300, 300); //set the resolution of the resulting jpg $im->readImage(''file.pdf[0]''); //[0] for the first page $im->setImageFormat(''jpg''); header(''Content-Type: image/jpeg''); echo $im; ?>

(Extensión en Paolo Bergantino su respuesta y Luis Melgratti en su comentario. Debe establecer la resolución antes de cargar la imagen).