imagemagick 没有错误但显示失败 [?] "image"

imagemagick no error but shows failed [?] "image"

我是新来的,但我已经找到了解决不同问题的帮助!

我想从在线生成的 pdf 生成 jpeg 缩略图,但 pdf 是从 php 脚本生成的...所以我必须 link 到 .php 脚本而不是 .pdf 文件。这可能吗?

但我的第一个问题是,当我只是 link 一个普通的 .pdf 文件时,我没有收到任何错误,但也没有图片。在 safari 中只有这样一个图标:failure image

而 firefox 显示类似 "the image has an error" 的内容,但这是来自浏览器的文本。

我的代码:

<?php

$file = 'templates/pdf/standard/test_doc.pdf';
$im = new imagick(realpath($file).'[0]');
$im->setImageFormat("jpg");
$im->resizeImage(200,200,1,0);
header("Content-Type: image/jpeg");
// start buffering
ob_start();
$thumbnail = $im->getImageBlob();
$contents =  ob_get_contents();
ob_end_clean();

echo "<img src='data:image/jpg;base64,".base64_encode($contents)."' />"

?>

非常感谢您的帮助!

所以我有解决方案,也许这会对某人有所帮助:

$im = new Imagick();
$im->setResolution(200,200);
$im->readimage('templates/pdf/standard/file.pdf');
$im->setImageFormat('jpeg');    

echo "<img src='data:image/jpeg;base64,".base64_encode($im->getImageBlob())."' width='524px' height='741px'/>";