1

Bonjour,

j'ai un problème assez gênant sur ma génération de PDF.
J'ai un portail où des utilisateurs créent leurs documentations et un client à une erreur sur la génération d'un pdf que je n'arrive pas à résoudre.
Sur l'ajout d'une liste de balises li, il y à un problème inconnu que je n'arrive pas à déceler. En ayant par exemple 5 balises qui se suivent j'ai une erreur:

Notice: Undefined offset: 3 in ...\html2pdf_v4.03_php5\html2pdf.class.php on line 5133

Le code HTML correspondant est celui-ci:

<UL>
<LI><SPAN style="FONT-SIZE: 12px"><SPAN style="FONT-FAMILY: arial,helvetica,sans-serif"><STRONG>La civilité </STRONG>est présentée sous forme de liste. Les codes supportés dépendent de la nomenclature <STRONG><SPAN class=scayt-misspell data-scayt_word="HXCIV" data-scaytid="50">HXCIV</SPAN></STRONG>(Civilités) définie dans les structures et nomenclatures et sont modifiables sur site.<BR></SPAN></SPAN></LI>
<LI><SPAN style="FONT-SIZE: 12px"><SPAN style="FONT-FAMILY: arial,helvetica,sans-serif"><STRONG>Le numéro de sécurité social</STRONG> : suite à la saisie un contrôle est effectué. Si le numéro saisi n'est pas correct une boite s'affiche en expliquant les erreurs rencontrées.<BR></SPAN></SPAN></LI>
<LI><SPAN style="FONT-SIZE: 12px"><SPAN style="FONT-FAMILY: arial,helvetica,sans-serif"><STRONG>Le nom </STRONG>:</SPAN></SPAN></LI>
<UL>
<LI><SPAN style="FONT-SIZE: 12px"><SPAN style="FONT-FAMILY: arial,helvetica,sans-serif">La saisie du nom est obligatoire ou non suivant le <SPAN data-scayt_word="paramétrage" data-scaytid="51">paramétrage</SPAN> dans les DG.</SPAN></SPAN></LI>
<LI><SPAN style="FONT-SIZE: 12px"><SPAN style="FONT-FAMILY: arial,helvetica,sans-serif">Lors de la modification du nom du patient :</SPAN></SPAN></LI>
</UL>
<LI><SPAN style="FONT-SIZE: 12px"><SPAN style="FONT-FAMILY: arial,helvetica,sans-serif"><STRONG>Le nom <STRONG>de naissance</STRONG></STRONG>: </SPAN></SPAN></LI>
</UL>


Le code html une fois généré et lancé dans un navigateur, fonctionne correctement. En supprimant une balise LI par-ci par-là, la génération en pdf fonctionne.
Si quelqu'un peut m'aider s'il vous plait.

2

à mon avis tu présume un peu trop des span, il ne peu contenir toute les balises, tu devrais tout nettoyer, par exemple aucun span n'est nécessaire ici, et met un .css avec du style sur tes ul li puis par exemple met les span en font-weight: bold; et entoure tes bout en gras avec

<SPAN class=scayt-misspell data-scayt_word="HXCIV" data-scaytid="50"> tu as oublié les " pour la classe, et aussi tu devrais virer le reste, les attributs html5 ne servirons à rien pour ton pdf
et la le mec il le pécho par le bras et il lui dit '

3

Merci de ta réponse
J'ai retiré tous les spans, tous les styles, toutes les classes. Dans ma structure HTML il n'y a que des balises UL, LI et STRONG par endroit.
Malgré tout le problème persiste.

4

est-ce que tu pourrais fournir le code HTML nettoyé qui pose toujours problème ?
Ancien pseudo : lolo

5

biensur, le voici:

<UL>
<LI><STRONG>La civilité </STRONG>est présentée sous forme de liste. Les codes supportés dépendent de la nomenclature <STRONG>HXCIV</STRONG>(Civilités) définie dans les structures et nomenclatures et sont modifiables sur site.<BR></LI>
<LI><STRONG>Le numéro de sécurité social</STRONG>&nbsp;: suite à la saisie un contrôle est effectué. Si le numéro saisi n'est pas correct une boite s'affiche en expliquant les erreurs rencontrées.<BR></LI>
<LI><STRONG>Le nom&nbsp;</STRONG>:</LI>
<UL>
<LI>La saisie du nom est obligatoire ou non suivant le paramétrage dans les DG.</LI>
<LI>Lors de la modification du nom du patient&nbsp;:</LI>
</UL>
<LI><STRONG>Le nom&nbsp;<STRONG>de naissance</STRONG></STRONG>: </LI>
</UL>

6

le 2em UL doit être dans le LI parent, pas directement dans le UL parent :
<UL>
  <LI><STRONG>La civilité </STRONG>est présentée sous forme de liste. Les codes supportés dépendent de la nomenclature <STRONG>HXCIV</STRONG>(Civilités) définie dans les structures et nomenclatures et sont modifiables sur site.<BR></LI>
  <LI><STRONG>Le numéro de sécurité social</STRONG> : suite à la saisie un contrôle est effectué. Si le numéro saisi n'est pas correct une boite s'affiche en expliquant les erreurs rencontrées.<BR></LI>
  <LI><STRONG>Le nom </STRONG>:
    <UL>
      <LI>La saisie du nom est obligatoire ou non suivant le paramétrage dans les DG.</LI>
      <LI>Lors de la modification du nom du patient :</LI>
    </UL>
  </LI>
  <LI><STRONG>Le nom <STRONG>de naissance</STRONG></STRONG>: </LI>
</UL>
Ancien pseudo : lolo

7

En effet, ça marche mieu. Je n'aurai pas pensé que cela poserai problème de placer directement un <UL> dans un autre.
Je vous remercie grandement de votre aide en tout cas. Bonne journée.

8

ben il me semble que c'est la norme HTML qui l'impose wink (à vérifier toute fois....quelqu'un a des infos là-dessus ?)

bonne journée également !
Ancien pseudo : lolo