安装PHP-GD后生成的图像中的黑色文本

问题描述 投票:0回答:1

我正在使用imagick将生成的pdf转换为jpg / png并将其保存到服务器。一切正常,但由于在mpdf中使用png图像而安装了php-gd后,生成的jpg中的所有文本均为黑色。

这是我的代码,当实际上没有php-gd但没有它时,PNG图片无法在文档中显示。

$mpdf->Output('temp/'.$nazev_pdf.'.pdf','F');
$pdf_file = 'temp/'.$nazev_pdf.'.pdf';
$savepath = 'temp/'.$nazev_pdf.'.jpg';
$img = new imagick();
$img->setResolution(576,576);
$img->readImage("{$pdf_file}[0]");
$img->resizeImage(2480,3508);
$img->setCompressionQuality(100);
$img->setImageFormat('jpg');
$img->writeImage($savepath);

enter image description here

我不知道如何解决。有人知道吗?

编辑:我正在检查生成的MPDF PDF,并且文本为PDF格式是可以的。因此,文本在imagick转换中会出错。

pdf jpeg imagick php-gd
1个回答
0
投票

已解决。 PDF是透明的,因此我设置了PNG并修改了img转换。

$mpdf->Output('temp/'.$nazev_pdf.'.pdf','F');
$pdf_file = 'temp/'.$nazev_pdf.'.pdf';
$savepath = 'temp/'.$nazev_pdf.'.png';

$img = new imagick();
$img->setResolution(576,576);
$img->readImage("{$pdf_file}[0]");
$img->resizeImage(2480,3508);
$img->setCompressionQuality(100);
$img->setImageBackgroundColor('white');
$img->setImageCompose(\Imagick::COMPOSITE_ATOP);
$img->flattenImages();
$img->setImageFormat('png');
$img->writeImage($savepath);
© www.soinside.com 2019 - 2024. All rights reserved.