情况说明:
分清两个概念,cmyk,rgb。记住,这是本文章主要原因
<?php
$pdfFile = './1.pdf'; // PDF文件路径
try {
for ($i = 0; $i < 17; $i++) {
$thumbnail = new \Imagick();
// 提前设置方式rgb读取文件
$thumbnail->SetColorspace(Imagick::COLORSPACE_RGB);
$thumbnail->setResolution(200, 200); // 设置分辨率
$thumbnail->setCompressionQuality(70); //设置质量
$thumbnail->readImage($pdfFile . '[' . $i . ']'); // 读取第几页
$thumbnail->setImageFormat('jpeg'); // 设置图片格式为JPEG
$file = "./imgs/" . $i . ".jpeg";
$thumbnail->writeImage($file);
var_dump($i . " is OK");
// 清理资源
$thumbnail->clear();
$thumbnail->destroy();
}
} catch (Exception $e) {
echo 'Error: ', $e->getMessage();
}
最后依旧存在问题,修改为生成png+色彩空间rgb模式,网页背景设置白色。。搞定,收工。唯一缺点是,下载后图片是灰色背景。。暂时这样吧。。费劲,遇到盲区了