【发布时间】:2022-01-18 06:41:30
【问题描述】:
我使用以下代码将 PDF 转换为 PNG。如您所见,我使用代码setImageAlphaChannel(Imagick::ALPHACHANNEL_REMOVE ) 来移除背景透明度。但实际上它只适用于最后一页。你觉得代码有问题吗?你有更好的解决方案吗?
$PDF = 'test.pdf';
$img = new imagick();
$img->readImage($PDF.'[0-9]'); //Convert 10 pages
$img->setImageAlphaChannel(Imagick::ALPHACHANNEL_REMOVE );
$pages = count($img);
$img->writeImages('./images/'.'pdf.png', true);
【问题讨论】:
-
你在阅读和写作之间尝试过
$img = $img->flattenImages();吗? php.net/manual/en/imagick.readimage.php -
是的。
flattenImages();的问题在于它将所有页面组合在一起! -
如果不想将所有页面放在一起,请将 writeImages 的第二个参数更改为 false。
-
我之前改过。只有第一页被转换。代码声明我希望转换指定的页面。