在Google和SO上搜索后,我发现这段代码可以使用ImageMagick创建PDF文档的缩略图。
对我来说困难在于将其实现到我的WordPress主题中。我认为我卡在了脚本需要用于临时文件的缓存路径上。
按照文章中所描述的方法使用它:
这应该是正确的(也许...但我认为我使用实际文件的完整URL是正确的),因为当我点击该URL时,我会看到一个页面显示以下错误:
无法读取文件:tmp/http://localhost/multi/wp-content/uploads/2012/03/sample.pdf.png
现在tmp在thumbPdf.php脚本中被定义,但我不确定它的值应该是什么。它是一个URL还是一个路径?像timthumb.php一样,我可以使它相对于thumbPdf.php脚本吗?(我尝试过./cache,这是timthumb的设置,并确保在我的主题根目录中有一个/cache文件夹,但都没有成功)。另外,请注意我在我的根目录中放置了一个/tmp文件夹,但仍然收到同样的错误信息。
那么,我如何配置tmp才能使其正常工作呢?
参考链接:http://stormwarestudios.com/articles/leverage-php-imagemagick-create-pdf-thumbnails/
我看到了这个答案: 如何在PHP中将PDF文档转换为预览图像? 我马上要去尝试它。
对我来说困难在于将其实现到我的WordPress主题中。我认为我卡在了脚本需要用于临时文件的缓存路径上。
按照文章中所描述的方法使用它:
无法读取文件:tmp/http://localhost/multi/wp-content/uploads/2012/03/sample.pdf.png
现在tmp在thumbPdf.php脚本中被定义,但我不确定它的值应该是什么。它是一个URL还是一个路径?像timthumb.php一样,我可以使它相对于thumbPdf.php脚本吗?(我尝试过./cache,这是timthumb的设置,并确保在我的主题根目录中有一个/cache文件夹,但都没有成功)。另外,请注意我在我的根目录中放置了一个/tmp文件夹,但仍然收到同样的错误信息。
那么,我如何配置tmp才能使其正常工作呢?
参考链接:http://stormwarestudios.com/articles/leverage-php-imagemagick-create-pdf-thumbnails/
function thumbPdf($pdf, $width)
{
try
{
$tmp = 'tmp';
$format = "png";
$source = $pdf.'[0]';
$dest = "$tmp/$pdf.$format";
if (!file_exists($dest))
{
$exec = "convert -scale $width $source $dest";
exec($exec);
}
$im = new Imagick($dest);
header("Content-Type:".$im->getFormat());
echo $im;
}
catch(Exception $e)
{
echo $e->getMessage();
}
}
$file = $_GET['pdf'];
$size = $_GET['size'];
if ($file && $size)
{
thumbPdf($file, $size);
}
我看到了这个答案: 如何在PHP中将PDF文档转换为预览图像? 我马上要去尝试它。