【问题标题】:Black text in generated image after install PHP-GD安装 PHP-GD 后生成的图像中的黑色文本
【发布时间】:2020-09-05 04:09:49
【问题描述】:

我正在使用 imagick 将生成的 pdf 转换为 jpg/png 并将其保存到服务器。 一切正常,但安装 php-gd 后,由于在 mpdf 中使用 png 图像,生成的 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 转换中出错了。

【问题讨论】:

    标签: pdf jpeg imagick php-gd


    【解决方案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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多