利用 Imagick 库实现 PDF 转图片
function pdf2png($pdf, $path = '')
{
if (!extension_loaded('imagick')) {
throw new \Exception("需要安装 Imagick 扩展", 1001);
}
if (!file_exists($pdf)) {
throw new \Exception("PDF 文件未找到", 1002);
}
$imagick = new \Imagick();
$imagick->setResolution(200, 200);
$imagick->setCompressionQuality(100);
$imagick->readImage($pdf);
foreach ($imagick as $k => $v) {
$v->setImageFormat('png');
$filename = $path . '/' . $k . '.png';
if ($v->writeImage($filename)) {
$return[] = $filename;
}
}
return $return;
}
Imagick 常用的方法总结
方法名 | 功能 | 注释 |
setResolution | 设置图像分辨率 | 数字越大图片越清晰,图片尺寸也越大 |
setCompressionQuality | 设置图片质量 | 可选值 0-100 |