web-dev-qa-db-fra.com

DomPDF: image non lisible ou vide

Pour une raison quelconque, DomPDF ne rendra pas une image incluse dans le html en cours d'analyse:

PDF Image missing

Cependant, l'image est rendue sur la page lorsqu'elle est renvoyée en html:

HTML Image exists

J'ai examiné ces problèmes et j'ai vérifié que DOMPDF_ENABLE_REMOTE est défini sur des autorisations de fichier vraies et vérifiées:
l'image dompdf n'est pas une image réelle non lisible ou vide
Erreur d'image dans DOMPDF pour ZF2

Y a-t-il d'autres choses que je devrais vérifier?

24
user3562712

Suivre m'a aidé comme par le charme, au moins localement, et même avec

def("DOMPDF_ENABLE_REMOTE", false);

La solution est de changer l'image SRC en chemin absolu sur le serveur, comme ceci:

<img src="/var/www/domain/images/myimage.jpg" />

Tous les éléments suivants ont fonctionné pour moi:

<img src="<?php echo $_SERVER["DOCUMENT_ROOT"].'/placeholder.jpg';?>"/>
<img src="<?php echo $_SERVER["DOCUMENT_ROOT"].'\placeholder.jpg';?>"/>
<img src="<?php echo $_SERVER["DOCUMENT_ROOT"].'./placeholder.jpg';?>"/>

$ _SERVER ["DOCUMENT_ROOT"] est C:/wamp/www/ZendSkeletonApplication/public

Merci à ceci: perdu dans le code

45
David P. P.

Ok j'ai eu le même problème avec l'image en utilisant:

<img id="logo" src="/images/flags/fr.png" width="50" alt="Logo">

Mais si j'ajoute un. avant/images, sans rien changer dans dompdf_config.custom.inc, ça marche

<img id="logo" src="./images/flags/fr.png" width="50" alt="Logo">

J'espère que ça aide

11
Patrice Flao

Comme il y avait une autre réponse qui suggère d'activer l'option distante dans module.config.php et je ne peux pas encore ajouter de commentaires, j'ai pensé qu'il serait préférable de répondre que ce fichier n'existe pas dans les versions plus récentes de DomPDF.

Si vous devez inclure des images stockées à distance dans une version plus récente, vous devez la transmettre en option au constructeur:

$dompdf = new Dompdf(array('enable_remote' => true));

Cela a résolu le problème que j'avais.

11
Jon

Maintenant (mai 2018) la bonne façon est:

$options = new Options();
$options->set('isRemoteEnabled',true);      
$dompdf = new Dompdf( $options );
4
André DLC

Aucune des solutions ici n'a fonctionné pour moi. Au lieu de cela, j'ai simplement encodé l'image en base64, puis cela a fonctionné. Vous pouvez utiliser ceci outil .

2
Owen Davey

En chemin:

fournisseur/dino/dompdf-module/config/module.config.php

modifier les paramètres

enable_remote '=> false,

то vrai.

2
egorychmaster

Je résous ce problème en utilisant le chemin complet du CSS externe. Celui-ci a fonctionné sur mon serveur Linux Ubuntu:

<link href="{{ public_path('css/style.css') }}" />

<img src="{{ public_path('images/image.jpg') }}" />

et travailler sur l'image.

1
Nasser Hekmati