Mpdf 以随机 PDF 显示图像的 x intead 并非全部

问题描述

我创建的应用程序出现问题

它使用 QRimage 生成 PDF,问题是它可以满足我的需要,但在一些随机 PDF 中,它显示红色 x 而不是图像。

for ($i=0; $i <= $ultimo_registro-2 ; $i++) {
        #GENERADOR QR
        $qr_name=$dir.$arreglo_nombre[$i].$arreglo_folio[$i].$arreglo_curso[$i].'.png';
    
        $size = 3;
        $level = 'Q';
        $framesize = 1;
        $contenido = 'http://www.celexescastogrcg.com/boleta.PHP?&'.$valor_codigo.'&'.$arreglo_key1[$i].'&'.$valor_profesor;
        QRcode::png($contenido,$qr_name,$level,$size,$framesize);

        #GENERADOR PDF
        $mpdf = new \Mpdf\Mpdf(['orientation'=> 'L']);
        $css = file_get_contents('plantillas/style.css');   
        $plantilla = get_plantilla($arreglo_key1[$i],$arreglo_fechadeinicio[$i],$arreglo_fechadefin[$i],$arreglo_nombre[$i],$arreglo_idioma[$i],$arreglo_nivel[$i],$arreglo_curso[$i],$arreglo_grammar[$i],$arreglo_vocabulario[$i],$arreglo_exp_oral[$i],$arreglo_com_auditiva[$i],$arreglo_com_lectura[$i],$arreglo_com_escrita[$i],$arreglo_tarea_integradora[$i],$valor_profesor,$arreglo_global_numeroyletra[$i],$arreglo_siguientenivel[$i],$arreglo_folio[$i],$valor_codigo,$qr_name);
        $mpdf->WriteHTML($css,\Mpdf\HTMLParserMode::HEADER_CSS);
        $mpdf->WriteHTML($plantilla,\Mpdf\HTMLParserMode::HTML_BODY);
        $mpdf->Output($boleta_path_temp.$arreglo_curso[$i]."_".$arreglo_nombre[$i].".pdf",'F');
    }

解决方法

在这种情况下,mpdf 的交叉是由于我试图插入的图像的名称而发生的。因此,我将空格替换为下划线并解决了问题。

例如:

  • 文件名是:
  • Johan Perez Martinez.png(这必须在 Perez 和 Martinez 之间留出空格)

所以我的解决方案是:

  • $qrrawname="约翰佩雷斯马丁内斯.png";
  • $qr_name= strtr($qr_rawname," ","_");

就是这样,我希望你觉得这有用。