PHP PDF转图片
之前做过一个项目,需要把pdf转成图片,一页一张图片,存到一个数组里面。当时想了很多办法都没有实现,只能委曲求全使用第三方的服务(云展网)。
之前也不是没有用过composer,但是今天偶然发现composer有把pdf转成图片的类库。以前居然没有想到(我要退出歌坛了~)。
引入类库
composer require spatie/pdf-to-image
转换成图片
$pdf = new Spatie\PdfToImage\Pdf($pathToPdf);
$pdf->saveImage($pathToWhereImageShouldBeStored);
获取页数
$pdf->getNumberOfPages();
根据页数保存图片
$pdf->setPage(2)
->saveImage($pathToWhereImageShouldBeStored);
可以定义输出格式
$pdf->setOutputFormat('png')
->saveImage($pathToWhereImageShouldBeStored);
可以压缩图片质量(100是最高)
$pdf->setCompressionQuality(100);
结合我的需要应该这样就可以实现了
$image = [];
$pdf = new Spatie\PdfToImage\Pdf($pathToPdf);
$num = $pdf->getNumberOfPages();
for ($i=1; $i<=$num; $i++) {
$image = $pdf->setPage(i)->setOutputFormat('png')->setCompressionQuality(100)
->saveImage('保存的图片路径命名');
}
return $image;