Черный текст в сгенерированном изображении после установки PHP-GD

Я использую imagick для преобразования сгенерированного PDF в jpg/png и сохранения его на сервере. Все работает хорошо, но после установки php-gd из-за использования изображений png в mpdf весь текст в сгенерированном 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);

введите здесь описание изображения

Я не знаю, как это исправить. Кто-нибудь знает?

РЕДАКТИРОВАТЬ: я проверяю сгенерированный MPDF PDF, и текст в формате PDF в порядке. Таким образом, текст ошибается при преобразовании imagick.


person Milan Lidmila    schedule 19.05.2020    source источник


Ответы (1)


Решено. PDF прозрачен, поэтому я устанавливаю PNG и изменяю img convert.

$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);
person Milan Lidmila    schedule 19.05.2020