Erreur TCPDF: [Image] impossible d'obtenir l'image

j'utilise TCPDF avec Drupal imprimer module pour générer un fichier PDF des articles, et de se retrouver avec message d'erreur suivant quand je clique sur le lien pour générer un fichier PDF:

TCPDF ERROR: [Image] Unable to get image: http://localhost/pathToDrupal/themes/bartik/logo.png

L'Image existe dans l'emplacement spécifié. J'ai essayé l'application:

allow_url_fopen = On;
allow_url_include = On;

php.ini mais qui n'a pas pu résoudre le problème.

Merci de soins :(

23
demandé sur giga 2011-10-05 21:57:26

12 réponses

apparemment, les emballages"fopen" ne sont pas utilisés par TCPDF.

si vous fournissez L'URL D'une image, TCPDF essaie de la télécharger avec cURL dans le répertoire"cache" où votre installation TCPDF est stockée (vous devez vérifier ce que le K_PATH_CACHE-constant contient pour être sûr).

Donc je suppose que vous devez avoir des droits d'écriture dans ce répertoire que la magie opère. Aussi, vous devez cURL activé.

25
répondu vstm 2011-10-05 18:33:25

nous avons eu des problèmes avec la façon dont les connexions étaient gérées dans notre linux "example.com" serveur. Donc, cela nous conduit à essayer sur le serveur:

curl -v http://www.example.com/image.jpg

chaque fois que TCPDF essayait de télécharger une image avec curl, l'image n'était pas trouvée, néanmoins, nous pouvions voir l'image en l'ouvrant directement dans le navigateur (par exemple http://www.example.com/image.jpg).

nous avons résolu le problème en example.com VirtualHost accepte les connexions 127.0.0.1 et l'ajout de la ligne "127.0.0.1 example.com" à /etc/hosts.

8
répondu luissquall 2011-12-09 23:01:33

utilisez simplement le chemin d'image comme " images / your_image.png" au lieu de "http://yourdomain.com/images/your_image.png" dans le fichier PDF html.

5
répondu Noman Mustafa Khan 2014-11-19 11:46:41

J'ai trouvé que TCPDF lançait L'impossibilité D'obtenir Image: error quand le src était un lien absolu. Le simple fait de passer à un lien relatif créerait le PDF avec succès.

3
répondu Michael 2013-02-19 16:45:43

j'ai eu ce problème sur un serveur de mise en scène où le docroot du site était protégé par un .fichier htaccess (pour empêcher l'indexation du moteur de recherche et d'autres confusions)

tcpdf utilise curl pour récupérer l'image et il donne cette erreur s'il ne peut pas accéder au fichier.

Pour le résoudre, j'ai ajouté une règle pour .htaccess pour autoriser les requêtes du serveur web

Allow from 123.45.6.7.8
3
répondu batigolix 2013-10-15 12:25:56
$pdf->Image($base_url.'/'.$node->field_loc_images[0]['filepath'] ,30, 40, 75, 113, 'JPG', '', '', true, 300, '');
2
répondu shashank 2012-08-25 23:46:13

essayez d'ajouter le chemin par dir de travail courant.

$img = getcwd().'/web/bundles/_bundlename_/img/logo.png';
2
répondu Ajsti.pl - Maciej Szewczyk 2015-11-12 17:50:43

dans vos problèmes de police unicode vous devez mettre ce code de syntaxe:

// set font
$fontname = $pdf->addTTFfont('../your path here/sampletruetype.ttf', 'TrueTypeUnicode', '', 32);

$pdf->SetFont($fontname, '', <font size value here>);

mettre avant d'ajouter la page...

1
répondu jay ralph 2012-05-24 05:23:28

Dans drupal assurez-vous d'inclure la bibliothèque tcpdf dans votre fonction et non pas en haut de votre fichier de module ou vous obtiendrez cette erreur.

1
répondu flabel 2015-05-08 10:46:48

essayez ceci aussi

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);
}
0
répondu shashank 2012-08-25 17:17:21

pour développer l'erreur. Il semble aussi échouer avec les images embarquées de base64. C'est un gros problème pour moi.

0
répondu Dieter Gribnitz 2013-08-13 14:07:25

après avoir mis à jour PHP 5.5 à 5.6, j'ai perdu des heures à cause d'une erreur d'image,

j'ai trouvé la solution ici @caligari (un commentaire sur la accepté de répondre) et il a résolu le problème pour moi:

installer CURL comme ceci:

apt-get install php5-curl && /etc/init.d/apache2 restart. 
0
répondu Carlo Paglietti 2017-07-26 14:38:32