完成上述扩展后重启
# PDF转图片
public function pdf2img($pdf_path_folder, $pdf_name, $new_type = 'png')
{
$pdf_path = $pdf_path_folder . $pdf_name;
$file_name_no_suff = str_replace(strrchr($pdf_name, "."),"",$pdf_name); // 文件名(无后缀)
$new_type = $new_type == 'jpg' || $new_type == 'png' ? $new_type : 'jpg';
$img_path = $pdf_path_folder . $file_name_no_suff . '.' .$new_type;
try {
// 识别 PDF 为 前景图片 $img_front;
$img_front = $pdf_path_folder . $file_name_no_suff . '_fimg.' .$new_type;
$im = new \Imagick();
$im -> setResolution(300, 300); // 设置图像的分辨率
$im -> readImage($pdf_path);
$im -> setImageFormat($new_type);
$im -> setImageCompression(\Imagick::COMPRESSION_JPEG);
$im -> setImageCompressionQuality(100);
$im -> writeImage($img_front);
$im -> clear();
$im -> destroy();
// 读取 前景图片 $img_front;
$readImage = new \Imagick();
$readImage -> readImage($img_front);
// 生成背景图片(白底)
$blankPage = new \Imagick();
$blankPage -> newPseudoImage($readImage->getImageWidth(), $readImage->getImageHeight(), "canvas:white");
// 设置合并的位置
$blankPage -> compositeImage($readImage, \Imagick::COMPOSITE_ATOP, 0, 0);
// 合并
$blankPage = $blankPage->mergeImageLayers(\Imagick::LAYERMETHOD_FLATTEN);
$blankPage -> writeImage($img_path);
$blankPage -> destroy();
} catch (Exception $e) {
var_dump(iconv("gbk",'utf-8',$e ->getMessage()));
}
return $img_path;
}
(adsbygoogle = window.adsbygoogle || []).push({});