在 PHP (LAMP) 中创建文档(PDF、DOC、XLS 等)的缩略图预览
Posted
技术标签:
【中文标题】在 PHP (LAMP) 中创建文档(PDF、DOC、XLS 等)的缩略图预览【英文标题】:Create a thumbnail preview of documents (PDF, DOC, XLS, etc.) in PHP (LAMP) 【发布时间】:2011-12-04 05:52:11 【问题描述】:当用户将某些文件(例如 .doc、.xls、.pdf 等)上传到我的网站时,我希望能够生成(文档第一页的)预览缩略图。我在 LAMP 堆栈中使用 php,但对任何可以完成这项工作的库或命令行工具都很满意(Linux 非常受欢迎)。
【问题讨论】:
@BrianRoach 不——在发布之前已经看到了这个问题。它仅指 PDF。我正在寻找一种可以处理一般文档(包括 PDF 以及 XLS、DOC 等)的工具。 为此,有一个技巧将***.com/questions/1225230/… 和***.com/questions/467793/… 结合起来,将 xls 或其他任何内容转换为 pdf,然后从 pdf 中获取图像 我正在寻找同样的东西并同意这不仅仅适用于 PDF/Office 文档(例如 LaTEX 或 SAS) 【参考方案1】:将某些文档格式转换为图像并不容易。单独的 php 无法做到这一点。 执行此操作的“正确”方法是首先在您的服务器上安装可以打开该格式文档的程序。 例如,对于 .doc 文档,您可以使用 OpenOffice 它还可以打开大多数其他文档格式 然后,您需要设置您的开放式办公室以“无头”模式工作,将输出发送到虚拟显示器(XVFB 是您在 Linux 上需要的)
然后您的 php 脚本将调用 OpenOffice,将路径传递给上传的文档。 OpenOffice 实际上会打开该文档。然后你需要从屏幕缓冲区创建一个图像。您可以为此使用 ImageMagick
然后,一旦您捕获了屏幕,您就可以将其调整为缩略图。
查看此链接了解更多详情
http://www.mysql-apache-php.com/website_screenshot.htm
【讨论】:
很好的答案,但我认为您可能指的是 ImageMagick,以防有人在寻找它【参考方案2】:最好的方法是将所有文档转换为 PDF 之后您可以制作预览缩略图
&这就是简单的解释 How do I convert a PDF document to a preview image in PHP?
【讨论】:
以上是关于在 PHP (LAMP) 中创建文档(PDF、DOC、XLS 等)的缩略图预览的主要内容,如果未能解决你的问题,请参考以下文章
为啥不在 java servlet 中创建 pdf 文档? [复制]