问题描述
我创建的应用程序出现问题
它使用 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," ","_");
就是这样,我希望你觉得这有用。