1

Bonjour,

J'ai releve 2 erreur sur la gestion de la commande background-image a partir d'un fichier style css.

Si le chemin est en relatif : background-image:url('exemple.jpg'); j'ai l'erreur suivante :
ERREUR n°6
Fichier : W:\var\www\html2pdf\html2pdf.class.php
Ligne : 1631

Impossible de charger l'image 'exemple.jpg'

Si je précise le chemin en absolu, je n'ai pas d'erreur mais l'image n'est pas affiché.

Voici mon code
<style type="text/css">
.exemple1
{
background-image:url('img/exemple.jpg');
}
.exemple2
{
background-image:url('http://locahost/img/exemple.jpg');
}
</style>
<div class="exemple1">gfbfghfgh</div>
<div class="exemple2">gfbfghfgh</div>
<div style="background-image:url('img/exemple.jpg')">gfbfghfgh</div> <!--exemple 3-->

L'exemple 3 marche correctement.

Y a t'il une solution?
Merci de votre aide

2

la syntaxe que html2pdf reconnait est url(nom_image) et non url('nom_image')

même si les 2 sont acceptées par le W3C, c'est la première syntaxe qui est recommandée ( http://wiki.mediabox.fr/documentation/css/background-image )

par contre pour l'exemple 2, il y a apparemment un autre pb, je vais regarder ca
Ancien pseudo : lolo

3

J'ai trouvé le problème, ca sera corrigé dans la prochaine version de HTML2PDF.

si quelqu'un en a besoin, les patchs à appliquer sont :
Fichier : parsingHTML.class.php
Ligne : 322
Methode : analiseCode
remplacer :
if (count($tmp)==2) $param['style'][trim(strtolower($tmp[0]))] = preg_replace('/[\s]+/isU', ' ', trim($tmp[1]));
par :
				if (count($tmp)>1)
				{
					$cod = $tmp[0]; unset($tmp[0]); $tmp = implode(':', $tmp); 
					$param['style'][trim(strtolower($cod))] = preg_replace('/[\s]+/isU', ' ', trim($tmp));
				}


Fichier : styleHTML.class.php
Ligne : 1295
Methode : analiseCode
remplacer :
if (count($tmp)==2) $stl[trim(strtolower($tmp[0]))] = trim($tmp[1]);
par :
					if (count($tmp)>1)
					{
						$cod = $tmp[0]; unset($tmp[0]); $tmp = implode(':', $tmp); 
						$stl[trim(strtolower($cod))] = trim($tmp);
					}
Ancien pseudo : lolo

4

Spipu (./2) :
même si les 2 sont acceptées par le W3C, c'est la première syntaxe qui est recommandée ( http://wiki.mediabox.fr/documentation/css/background-image )

Et bien, je sais pas ou ils sont alles cherchez ca... y'a aucune raison pour que la version sans quote soit conseillee... J'ai d'ailleurs rien trouve qui confirme ca sur w3c...

http://www.w3.org/TR/CSS21/syndata.html#uri

C'est meme plutot l'inverse en fait...

5

en fait non, c'est juste optionnel :
followed by an optional single quote (') or double quote (") character


bon, ben je verrais si je modifie html2pdf pour accepter également les single et double quote, en fonction de ma motivation
Ancien pseudo : lolo

6

Je m'attendais pas à avoir une réponse si rapidement.

Super, je viens de tester, ca marche!!!!!!!!!!!!!!!!!
Un grand merci pour ta super réactivité.

7

de rien, bon amusement wink
Ancien pseudo : lolo