php - plantillas - tcpdf laravel
ERROR TCPDF:[Imagen] No se puede obtener la imagen (12)
Aparentemente, las envolturas "fopen" no son utilizadas por TCPDF.
Si proporciona la URL de una imagen, TCPDF intenta descargarla con cURL en el directorio "caché" donde está almacenada su instalación TCPDF (debe verificar qué contiene la K_PATH_CACHE
K_PATH_CACHE).
Así que supongo que debes tener permisos de escritura en este directorio para que funcione la magia. También necesita cURL habilitado.
Estoy usando TCPDF con el módulo de impresión de Drupal para generar PDF de artículos, y termino con el siguiente mensaje de error cuando hago clic en el enlace para generar PDF:
TCPDF ERROR: [Image] Unable to get image: http://localhost/pathToDrupal/themes/bartik/logo.png
La imagen existe en la ubicación especificada. Intenté aplicar:
allow_url_fopen = On;
allow_url_include = On;
en php.ini
pero eso no pudo resolver el problema.
Por favor, cuidado para ayudar: (
Descubrí que TCPDF lanzaría el error "No se puede obtener la imagen: cuando src era un enlace absoluto". El solo hecho de cambiar a un enlace relativo crearía el PDF con éxito.
Después de actualizar PHP 5.5 a 5.6, perdí horas debido a un error de imagen,
Encontré la solución aquí de caligari (un comentario sobre la respuesta aceptada) y me solucionó el problema:
instalar CURL de esta manera:
apt-get install php5-curl && /etc/init.d/apache2 restart.
En drupal, asegúrese de incluir la biblioteca tcpdf en su función y no en la parte superior de su archivo de módulo o obtendrá este error.
En los problemas de unicode de su fuente, necesita poner este código de sintaxis:
// set font
$fontname = $pdf->addTTFfont(''../your path here/sampletruetype.ttf'', ''TrueTypeUnicode'', '''', 32);
$pdf->SetFont($fontname, '''', <font size value here>);
ponlo antes de agregar la página ...
Intente agregar ruta por el directorio de trabajo actual.
$img = getcwd().''/web/bundles/_bundlename_/img/logo.png'';
Para ampliar el error. También parece fallar con las imágenes integradas en base64. Este es un gran problema para mí en este momento.
Solo use la ruta de la imagen como "images / your_image.png" en lugar de " http://yourdomain.com/images/your_image.png " en el archivo PDF en HTML.
Tuve este problema en un servidor de pruebas donde el docroot del sitio estaba protegido por un archivo .htaccess (para evitar la indexación de motores de búsqueda y otras confusiones)
tcpdf usa el rizo para recuperar la imagen y da este error si no puede acceder al archivo.
Para resolverlo, agregué una regla a .htaccess para permitir solicitudes del servidor web
Allow from 123.45.6.7.8
Tuvimos problemas con la forma en que se manejaban las conexiones en nuestro servidor linux "example.com". Así que esto nos lleva a probar en el servidor:
curl -v http://www.example.com/image.jpg
Cada vez que TCPDF intentaba descargar una imagen con un rizo, no se encontraba la imagen, sin embargo, podíamos ver la imagen simplemente abriéndola directamente en el navegador (por ejemplo, http://www.example.com/image.jpg ).
Resolvimos el problema configurando el ejemplo VirtualHost para aceptar conexiones 127.0.0.1 y agregando la línea "127.0.0.1 example.com" a / etc / hosts.
prueba esto también
foreach($node->field_loc_images as $key=> $s)
{
$pdf->Image($base_url.''/''.$s[''filepath''], $x, $y, $w, $h, ''JPG'', '''', '''', false, 300, '''', false, false, 0, $fitbox, false, false);
}
$pdf->Image($base_url.''/''.$node->field_loc_images[0][''filepath''] ,30, 40, 75, 113, ''JPG'', '''', '''', true, 300, '''');