J'utilise html2PDF pour convertir des fichiers html au format PDF, pour cela j'utilise une boucle mais j'obtiens une erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
ERREUR n°3
Fichier : C:\Web\StockDeporte\html2pdf\parsingHTML.class.php
Ligne : 129
 
Code HTML non valide, une balise est fermée en trop : <td>
 
HTML : ... </tr> </table> ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
 
		<table style="width: 90%;border: none;" cellspacing="4mm" cellpadding="0">
			<tr>
				<td>
					<table>
						<tr style="position: absolute; height: 100mm;"><td><img src='Img/LogoValpaco.gif'></td></tr>
						<tr style="position: absolute; height: 100mm;"><td>&nbsp;</td></tr>
						<tr style="position: absolute; height: 100mm;"><td>&nbsp;</td></tr>
						<tr style="position: absolute; height: 100mm;"><td>&nbsp;</td></tr>
						<tr style="position: absolute; height: 100mm;"><td>&nbsp;</td></tr>
						<tr style="position: absolute; height: 100mm;"><td>&nbsp;</td></tr>
						<tr height="100px">
							 <td>
							 	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
							 	 <b>DEVIS</b>
							 </td>
							 <td>
							 	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
							 	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
							 </td>
							 <td><span>rungis, le <?php echo date('d/m/Y'); ?></span></td>
						</tr>
						<tr style="position: absolute; height: 100mm;"><td>&nbsp;</td></tr>
						<tr style="position: absolute; height: 100mm;"><td>&nbsp;</td></tr>
						<tr height="100px">
							 <td>
							 	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
							 	 <b>N° CLIENT : <?php echo $_SESSION['BprNum']; ?></b>
							 </td>
						</tr>
						<tr height="100px">
							 <td>
							 	 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
							 	 <b>N° DEVIS : <?php echo date('dmY'); ?></b>
							 </td>
						</tr>
						<tr style="position: absolute; height: 100mm;"><td>&nbsp;</td></tr>
						<tr style="position: absolute; height: 100mm;"><td>&nbsp;</td></tr>
					</table>
					<table border=1 style="width:99%;" cellpadding="0" cellspacing="0">
						<tr height="10px">
							<td width="20%"><b>&nbsp;<?php echo TXT_PANIER_ARTCICLE ?></b></td>
							<td width="10%"><b>&nbsp;<?php echo Str_Replace(" ","<br>",TXT_PANIER_QTY_UNITE); ?></b></td>
							<td width="16%"><b>&nbsp;<?php echo TXT_TIERS_LIVRE ?></b></td>
							<td width="14%"><b>&nbsp;<?php echo TXT_PANIER_DATE_LIVRAISON ?></b></td>
							<td width="7%"><b>&nbsp;<?php echo TXT_ACTIV_LIVRAISON ?></b></td>
							<td width="9%"><b>&nbsp;<?php echo Str_Replace(" ","<br>",TXT_VALID_PANIER_FRAIS_LIVRAISON); ?></b></td>
							<td width="7%"><b>&nbsp;<?php echo Str_Replace(" ","<br>",TXT_VALID_PANIER_TARIF_UNITAIRE); ?></b></td>
							<td width="9%"><b>&nbsp;<?php echo Str_Replace(" ","<br>",TXT_VALID_PANIER_TARIF_TOTAL); ?></b></td>
						</tr>
						<?php
			  			$AffInfoMonPanier = AffInfoMonPanier($DateCmd,$_SESSION['BprNum']);
			  			$resultMonPanier = mysqli_query($link, $AffInfoMonPanier);
 
			  			$TotalTarif = 0;
			  			$TotalCmd = 0;
			  			$DetailCmdMail = TXT_PANIER_COMMANDE_PRISE_EN_COMPTE_DETAIL." : <br><br>";
 
			  			While ($row = mysqli_fetch_array($resultMonPanier, MYSQLI_NUM)){
								$IdPanier = $row[0];
								$ItmRef = $row[1];
								$NumCmd = $row[2];
								$BprNum = $row[3];
								$Qty = $row[4];
								$QtyTonneTotal = $row[5];
								$Tarif = $row[6];
								$DateCreation = $row[7];
								$DateLivraison = $row[8];
		 						$WarningArticle = $row[9];
		 						$IdTiersLivre = $row[10];
		 						$FraisLivraison = $row[11];
		 						$VerifPanier = $row[12];
		 						$OrdreAffPanier = $row[13];
								$MontantFraisLivraison = $row[14];
								$TypeTransport = $row[15];
 
								$ImportPanier = "INSERT INTO PANIER_COMMANDE(ID_COMMANDE,ITMREF,BPRNUM,QTY,QTY_TONNE_TOTAL,TARIF,DATE_CREATION,DATE_LIVRAISON,ID_ADD_LIVRAISON,FRAIS_LIVRAISON,MONTANT_FRAIS_LIVRAISON,VERIF_PANIER,ORDRE_AFF_PANIER,TYPE_TRANSPORT)VALUE('".$IdComande."','".$ItmRef."','".$BprNum."','".$Qty."','".$QtyTonneTotal."','".$Tarif."','".$DateCmd." ".$TimeCmd."','".$DateLivraison."','".$IdTiersLivre."','".$FraisLivraison."','".$MontantFraisLivraison."','".$VerifPanier."','".$OrdreAffPanier."','".$TypeTransport."')";
								$result = mysqli_query($link, $ImportPanier);
 
								// Détail sur l'article
							  $sql="SELECT ITMDES1 FROM ITMMASTER WHERE ITMREF = '". $ItmRef ."'";
							  $resultItmDes = mysqli_query($link, $sql);
							  $rowItmDes = mysqli_fetch_array($resultItmDes, MYSQLI_NUM);
							  $ItmDes = $rowItmDes[0];
 
							  // Recherche du tiers livré
							  $sql="SELECT BPANUM,BPAADD,BPADES,BPAADDLIG_0,BPAADDLIG_1,BPAADDLIG_2,POSCOD,CTY,CRY FROM bpaddress WHERE BPANUM = '". $IdTiersLivre ."'";
							  $resultBpaDes = mysqli_query($link, $sql);
							  $rowBpaDes = mysqli_fetch_array($resultBpaDes, MYSQLI_NUM);
							  $BpaDes = $rowBpaDes[2];
 
								$JourLivraison = substr($DateLivraison,8,2);
								$MoisLivraison = substr($DateLivraison,5,2);
								$AnneeLivraison = substr($DateLivraison,0,4);
								$AffDateLivraison = $JourLivraison.'/'.$MoisLivraison.'/'.$AnneeLivraison;
 
								$SommeTarifArticle = ($Tarif + ($MontantFraisLivraison/$QtyTonneTotal));
								$TotalTarifArticle = $SommeTarifArticle*$QtyTonneTotal;
 
								$TotalCmd = $TotalCmd + $TotalTarifArticle;
 
								$DetailCmdMail .= "<b><u>".TXT_PANIER_ARTCICLE." </u></b>: ".Str_Replace('APACHE','',$ItmDes)."<br>";
								$DetailCmdMail .= "<b><u>".TXT_PANIER_QTY_UNITE." </u></b>: ".$Qty."<br>";
								$DetailCmdMail .= "<b><u>".TXT_TIERS_LIVRE." </u></b>: ".$BpaDes."<br>";
								$DetailCmdMail .= "<b><u>".TXT_PANIER_DATE_LIVRAISON." </u></b>: ".$AffDateLivraison."<br>";
								if($FraisLivraison==0){
									$DetailCmdMail .= "<b><u>".TXT_ACTIV_LIVRAISON." </u></b>: ".TXT_NON."<br>";
								}else if($FraisLivraison==1){
									$DetailCmdMail .= "<b><u>".TXT_ACTIV_LIVRAISON." </u></b>: ".TXT_OUI."<br>";
								}
								$DetailCmdMail .= "<b><u>".TXT_VALID_PANIER_FRAIS_LIVRAISON." </u></b>: ".Round($MontantFraisLivraison,2)." € <br>";
								$DetailCmdMail .= "<b><u>".TXT_VALID_PANIER_TARIF_UNITAIRE." </u></b>: ".Round($SommeTarifArticle,2)." € <br>";
								$DetailCmdMail .= "<b><u>".TXT_VALID_PANIER_TARIF_TOTAL." </u></b>: ".Round($TotalTarifArticle,2)." € <br>";
								$DetailCmdMail .='<br>';
								?>
									<tr>
										 <td style="width: 45mm;"><?php echo Str_Replace("APACHE","",$ItmDes);?></td>
										 <td style="width: 5mm;"><?php echo $Qty;?></td>
										 <td style="width: 30mm;"><?php echo $BpaDes;?></td>
										 <td style="width: 20mm;"><?php echo $AffDateLivraison;?></td>
										 <td>
										 <?php if($FraisLivraison==0){ ?>
										 	 <?php echo TXT_NON ?>
										 <?php }else if($FraisLivraison==1){ ?>
										 	 <?php echo TXT_OUI ?>
										 <?php } ?>
										 </td>
										 <td style="width: 18mm;"><?php echo Round($MontantFraisLivraison,2); ?> € </td>
										 <td style="width: 18mm;"><?php echo Round($SommeTarifArticle,2);?> € </td>
										 <td style="width: 25mm;"><?php echo Round($TotalTarifArticle,2); ?> € </td>
									</tr>
								<?php
							}
						?>
						<tr>
							<td style="width: 55mm;" Colspan="6"><b><?php echo TXT_PANIER_PRIX_TOTAL; ?> € </b></td>
							<td Colspan="2"><?php echo Round($TotalCmd,2); ?> € </td>
							<?php
								$DetailCmdMail .= "<b><u>".TXT_PANIER_PRIX_TOTAL_CMD." </u></b>:<b> ".Round($TotalCmd,2)." € </b><br>";
							?>
						</tr>
					</table>
				</td>
			</tr>
		</table>
L'erreur ne viens pas de ma page html car ma page affiche des informations provenant d'une boucle et pas forcmenet a la meme celule