用PHP(LAMP)创建文档(PDF、DOC、XLS等)的缩略图预览

用PHP(LAMP)创建文档(PDF、DOC、XLS等)的缩略图预览,php,linux,graphics,lamp,Php,Linux,Graphics,Lamp,当用户将某些文件(如.doc、.xls、.pdf等)上载到我的站点时,我希望能够生成(文档第一页的)预览缩略图。我在LAMP堆栈中使用PHP,但我很乐意使用任何可以完成这项工作的库或命令行工具(Linux是首选)。将某些文档格式转换为图像并不容易。单靠php无法做到这一点。 “正确”的方法是首先在服务器上安装程序,以便以该格式打开文档。 例如,对于.doc文档,您可以使用OpenOffice 它还可以打开大多数其他文档格式 然后,您需要将OpenOffice设置为在“headless”模式下工作

当用户将某些文件(如.doc、.xls、.pdf等)上载到我的站点时,我希望能够生成(文档第一页的)预览缩略图。我在LAMP堆栈中使用PHP,但我很乐意使用任何可以完成这项工作的库或命令行工具(Linux是首选)。

将某些文档格式转换为图像并不容易。单靠php无法做到这一点。 “正确”的方法是首先在服务器上安装程序,以便以该格式打开文档。 例如,对于.doc文档,您可以使用OpenOffice 它还可以打开大多数其他文档格式 然后,您需要将OpenOffice设置为在“headless”模式下工作,将输出发送到虚拟显示器(在Linux上需要XVFB)

然后,php脚本将调用OpenOffice,并将路径传递给上传的文档。OpenOffice将实际打开该文档。然后需要从屏幕缓冲区创建一个图像。你可以用ImageMagick来做这个

一旦你捕获了你的屏幕,你就可以将它调整为缩略图

查看此链接了解更多详细信息


最好的方法是将所有文档转换为PDF格式 之后,您可以制作预览缩略图

&这就是简单的解释

@BrianRoach Nope-在发布之前已经看到了这个问题。它仅指PDF。我正在寻找一个工具,可以做一般的文件(包括pdf,但也包括XLS,DOC,等等)。对于这一点,有一个技巧结合这两者,这是转换XLS或任何东西到pdf,然后从pdfI获得图像。我在寻找同样的东西,并同意这不仅适用于pdf/Office文档(如LaTEX或SAS)好答案,但我想你可能是指ImageMagick,以防有人在找它