php - parse - mPDF 5.7.1: la imagen se muestra como una rota
mpdf laravel (7)
De acuerdo. Después del último comentario sobre la pregunta (14:30). Aquí exactamente el mismo código que está trabajando con mPDF 5.4. Y guarda su salida en el directorio de scripts como test.pdf. Problemas con el firewall?
Editado
Tengo los siguientes directorios / archivos:
- imagenes
- wallpaper01.jpg
- wallpaper02.jpg
- index.php (código fuente)
Por lo tanto, estos archivos de imagen están comenzando relativamente desde el directorio de secuencias de comandos como parece.
require_once __DIR__ . DIRECTORY_SEPARATOR . ''MPDF/mpdf.php'';
try {
$mpdf = new mPDF();
$mpdf->WriteHTML(''<img src="images/wallpaper01.jpg" alt="" width="480">'');
$mpdf->WriteHTML(''<img src="images/wallpaper02.jpg" alt="" width="480">'');
$mpdf->Output(__DIR__ . DIRECTORY_SEPARATOR . ''test.pdf'', ''F'');
} catch(Exception $e) {
echo $e;
}
Tengo un pequeño problema con mPDF (versión 5.7.1).
Este código debe generar PDF con archivo de imagen:
$mpdf = new mPDF();
$html = ''<img src="https://www.google.pl/images/srpr/logo11w.png"/>'';
$mpdf->WriteHTML($html);
$mpdf->debug = true;
$output = $mpdf->Output();
exit();
Bueno, no hay imagen sino una [x]
lugar.
He buscado lo suficiente en Google para llegar a la conclusión de que se debe hacer de esta manera, pero también probé la ruta real al archivo. Todavía nada.
Lo único que no he probado es <img src="logo11w.png">
y copiar la imagen en la carpeta porque no sé en qué carpeta debo copiar el archivo logo11w.png
.
¿Alguna sugerencia?
He encontrado el mismo problema después de migrar el script.
El problema era que el directorio tmp
dentro de la carpeta mpdf no se podía escribir. Espero que esto ayude a alguien.
Incluir imágenes es un poco complicado en mPDF. También tuve algunos problemas. Encontré más tipos de problemas.
Al principio debes activar la variable de depuración:
$mpdf = new mPDF();
$mpdf->showImageErrors = true;
Usualmente la gente no tiene instalado el módulo GD para PHP. En la máquina linux, ejecute:
sudo apt-get install php5-gd
sudo service apache2 restart
En los servidores de Windows, php_gd2.dll se incluye en una instalación estándar de PHP, pero no está habilitado de forma predeterminada. Para habilitarlo, descomente la línea de la extensión = php_gd2.dll en su archivo php.ini (elimine el # desde el principio de esa línea) y reinicie la extensión de PHP. [ 1 ]
Si recibe este error, probablemente vea la imagen [x]:
Error de mPDF: error de IMAGEN ( http://www.domain.com/directory/image.jpg ): no se pudo encontrar el archivo de imagen
Compruebe la URL si su imagen existe y si la imagen es accesible. En caso afirmativo, puede intentar cambiar la URL absoluta a relativa. Puedes probar ambas versiones:
<img src="directory/image.jpg">
<img src="./directory/image.jpg">
En realidad también tuve un problema con los formatos PNG. La imagen PNG convertida a JPG funcionó bien.
El enlace en las plantillas mPDF debe ser igual que para todo su marco / sistema.
Para mí, está funcionando a partir de ahora. Espero que esto ayude a alguien.
Solución: Pruebe la ruta relativa de la imagen en lugar de la URL. La imagen debe estar alojada en el mismo servidor.
Ej: /var/www/mysite/image/xyz.jpg
Puedes probar esto:
$mpdf->imageVars[''myvariable''] = file_get_contents(''alpha.png'');
o
$html = ''<img src="var:myvariable"/>'';
$mpdf->WriteHTML($html);
después de allí, deberías hacer:
$mpdf->Image(''var:myvariable'', 0, 0);
Lea más sobre esto en la documentación: mPDF Cargar imagen
Tuve el mismo problema con las imágenes PNG que se muestran como [X] cuando se generan archivos PDF con mPDF.
$mpdf->showImageErrors = true;
: $mpdf->showImageErrors = true;
Después: $mpdf = new Mpdf();
y recibió el mensaje de error:
Se requiere una biblioteca GD para la imagen PNG (canal alfa) #
Entonces, después de ejecutar apt-get install php5-gd
generar un PDF con PNG funcionó a la perfección!
cambie para eliminar la segunda línea antes de inicializar $ html su indefinido en ese momento. nuevo código será como
$mpdf = new mPDF();
$html= "<img src=''https://www.google.pl/images/srpr/logo11w.png'' alt=''''>";
$mpdf->WriteHTML($html);
$mpdf->debug = true;
$output = $mpdf->Output();
exit();