¿Qué bibliotecas, extensiones, etc. serían necesarias para representar una parte de un documento PDF en un archivo de imagen?
La mayoría de las bibliotecas PDF de PHP que he encontrado se centran en la creación de documentos PDF, pero ¿hay alguna manera simple de representar un documento en un formato de imagen adecuado para uso web?
Nuestro entorno es una pila LAMP.
.jpg
extensión. Intenté el método .htaccess AddHandler y no funcionó.Respuestas:
Necesitas
ImageMagick
yGhostScript
Los
[0]
mediospage 1
.fuente
$im->thumbnailImage(1500, 0);
Eso establecerá su imagen jpg en un ancho de 1500 y retendrá la escala. Ver documentaciónPara aquellos que no tienen ImageMagick por cualquier razón, las funciones 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 conimagecreatefromjpeg()
.Ejecute el comando ghostscript:
Para manipular, cree una nueva imagen de marcador de posición
$newimage = imagecreatetruecolor(...)
, y traiga la imagen actual.$image = imagecreatefromjpeg('whatever.jpg')
, y luego puede usarimagecopyresampled()
para cambiar el tamaño, o cualquier número de otrosimagemagick
comandos no integradosfuente
gs
binario.something;rm -rf /
?También puede obtener el recuento de páginas usando
Luego puede crear los pulgares de todas las páginas usando un bucle, por ejemplo.
fuente
Utiliza la extensión php Imagick . Para controlar el tamaño deseado de la imagen de salida ráster, use la función setResolution
(Extensión sobre Paolo Bergantino su respuesta y Luis Melgratti su comentario. Debe establecer la resolución antes de cargar la imagen).
fuente
Si está cargando el PDF desde un blob, así es como obtiene la primera página en lugar de la última página:
fuente
También puede intentar ejecutar la utilidad 'convertir' que viene con imagemagick.
fuente
convert
binario.echo 'image-0.jpg';
devuelve una cadenaSoy el autor de PDFlib, que es un contenedor de GhostScript para php, la ventaja de usar esta biblioteca es que ya está probado y no requiere
ImageMagic
Los
GhostScript
comandos siempre son más rápidos queImageMagic
cuando se trata de pdf, por lo que debe elegir un contenedor GhostScript o comandos GhostScript purosfuente
Lo instalo terminado! Ha funcionado!
Puede hacer imagemagick de instalación base en Windows.
En
php (local)
uso llameexec(<command line>)
ex:Además, puedes usarlo
class imagick
en la clase PHP ImagickGracias a todos me ayudaron!
fuente
Piensa diferente, puedes usar la siguiente biblioteca para convertir pdf a imagen usando javascript
http://usefulangle.com/post/24/pdf-to-jpeg-png-with-pdfjs
fuente
Aquí hay una clase simple que he escrito y usado en un par de proyectos. Simplemente envuelve
imagick
y maneja la escritura de cada página en el disco. Si alguien todavía está buscando una manera fácil de hacer esto, este enlace puede ser útil.fuente