在Laravel 5.1中如何预览PDF图像缩略图?

5
我有一个文件模块,想要列出所有文件,并显示缩略图预览。就像下面这样:

enter image description here

我正在存储文件在storage文件夹中,该文件夹无法通过http访问。
那么,如何为文档提供缩略图预览,特别是图片和PDF?
在laravel 5.1中是否有可用的软件包?

你可能找不到 Laravel 特定的答案,但是有很多 PHP 的解决方案。例如,请参考 这个 - Simba
1
但在Windows上安装和使用imagick变得非常困难。 - gsk
嗯,我的第一反应是你不应该在Windows上运行PHP!但我知道ImageMagick可以在Windows上运行。我替你谷歌了一下,这是我找到的一个结果:https://dev59.com/IGEi5IYBdhLWcg3wwemq。但无论如何,我链接的那个问题也包括了不需要ImageMagick的答案。 - Simba
2个回答

11
通常情况下,PDF文件的预览图像通常是PDF文件的第一页。
您可以使用ImageMagick来获取PDF文件的第一页。
<?php
$imagick = new imagick('sample.pdf[0]'); // 0 specifies the first page of the pdf

$imagick->setImageFormat('jpg'); // set the format of the output image
header('Content-Type: image/jpeg'); // set the header for the browser to understand
echo $imagick; // display the image
?>

你还可以将图像内容输出(保存在文件中)并存储在以PDF名称命名的缩略图文件夹下,例如(sample.jpg)。
至于基于laravel的解决方案,我认为laravel没有任何可以完成相同功能的包。

1
尽管这个问题已经发布很久了,但我还是回答一下,因为它可能对其他人有所帮助。有一个用于从PDF生成图像的软件包Pdf to Image。您应该安装ImagickGhostscript

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接