2011-10-10 28 views
8

Cuando los usuarios cargan ciertos archivos en mi sitio (como .doc, .xls, .pdf, etc.) me gustaría para poder generar una vista previa en miniatura (de la primera página del documento). Estoy trabajando con PHP en una pila LAMP, pero estaría contento con cualquier biblioteca o herramienta de línea de comandos que pueda hacer el trabajo (Linux lo prefiere mucho).Crear una vista previa en miniatura de documentos (PDF, DOC, XLS, etc.) en PHP (LÁMPARA)

+1

@BrianRoach Nope: ya vi esa pregunta antes de publicarla. Solo se refiere a archivos PDF. Estoy buscando una herramienta que pueda hacer documentos generales (incluidos archivos PDF, pero también XLS, DOC, etc.). – Dan

+1

bueno para esto, hay un truco combinar ambos de este http://stackoverflow.com/questions/1225230/php-converting-excel-xls-to-pdfs y http://stackoverflow.com/questions/467793/how -do-i-convert-a-pdf-document-to-a-preview-image-in-php que es convertir xls o lo que sea a pdf luego obtener la imagen de pdf – aNi

+0

Estoy buscando lo mismo y estoy de acuerdo esto se aplica a algo más que documentos de PDF/Office (p. ej., LaTEX o SAS) – vol7ron

Respuesta

9

No es fácil convertir ciertos formatos de documentos a imágenes. php solo no puede hacer esto. La forma "correcta" de hacerlo es, antes que nada, tener el programa instalado en su servidor que pueda abrir el documento en ese formato. Por ejemplo, para documentos .doc puede usar OpenOffice , también puede abrir la mayoría de los demás formatos de documento Luego necesita configurar su oficina abierta para trabajar en modo "sin cabeza", enviando la salida a la pantalla virtual (XVFB es a lo que se dirige necesitar en Linux)

Su script php llamará a OpenOffice, pasando la ruta al documento cargado. OpenOffice realmente abrirá ese documento. Luego necesita crear una imagen desde el buffer de la pantalla. Puede usar ImageMagick para eso

Luego, una vez que tenga la captura de su pantalla puede cambiar el tamaño a una miniatura.

mirada a este enlace para más detalles

http://www.mysql-apache-php.com/website_screenshot.htm

+1

Buena respuesta, pero creo que se podría haber referido a ImageMagick, en caso de que alguien lo esté buscando – vol7ron

Cuestiones relacionadas