Alors j'ai un peu rejoué avec mes exemples. C'est bien quand on commence à spécifier des largeurs de cellules en mm plutôt qu'en % que ça pose problème.
<page style="font-size: 10px">
<table cellspacing="2" cellpadding="2" style="border: 1px solid black; width: 150mm;">
<tr>
<td style="width:10%">toto</td>
<td style="width:20%">toto</td>
<td style="width:30%">toto</td>
<td style="width:40%">toto</td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" style="border: 1px solid black; width: 150mm;">
<tr>
<td style="width:10%">toto</td>
<td style="width:20%">toto</td>
<td style="width:30%">toto</td>
<td style="width:40%">toto</td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" style="border: 1px solid black; width: 150mm;">
<tr>
<td style="border: 1px solid black; width:10%">toto</td>
<td style="border: 1px solid black; width:20%">toto</td>
<td style="border: 1px solid black; width:30%">toto</td>
<td style="border: 1px solid black; width:40%">toto</td>
</tr>
</table>
<table cellspacing="2" cellpadding="2" style="border: 1px solid black; width: 150mm;">
<tr>
<td style="width:10mm">toto</td>
<td style="width:20mm">toto</td>
<td style="width:30mm">toto</td>
<td style="width:40mm">toto</td>
<td style="width:50mm">toto</td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" style="border: 1px solid black; width: 150mm;">
<tr>
<td style="width:10mm">toto</td>
<td style="width:20mm">toto</td>
<td style="width:30mm">toto</td>
<td style="width:40mm">toto</td>
<td style="width:50mm">toto</td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" style="border: 1px solid black; width: 150mm;">
<tr>
<td style="border: 1px solid black; width:10mm">toto</td>
<td style="border: 1px solid black; width:20mm">toto</td>
<td style="border: 1px solid black; width:30mm">toto</td>
<td style="border: 1px solid black; width:40mm">toto</td>
<td style="border: 1px solid black; width:50mm">toto</td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" style="border: 1px solid black; width: 150mm;">
<tbody>
<tr>
<td style="width: 100%;">table de reference 150mm</td>
</tr>
</tbody>
</table>
</page>
qui me donne cela :
Fichier joint : courrier-10.pdf
Donc voila.
Les tables 1 2 3, avec des %, sont nickel dans tous les cas.
La table 4, a la réflexion, est probablement "normalement en erreur" vu que la somme des largeurs + le cellspacing dépasse 150mm (le spacing est-il en plus des largeurs, ou réduit-il la cellule ?)
la table 5, je ne vois pas pourquoi ça dépasse (pas de border, pas de spacing)
La table 6, idem la 4, il faut voir si le pixel de bordure réduit la cellule ou vient s'y rajouter (auquel cas le total ne fait plus 150mm non plus, logique)
Maintenant j'ai vu qu'il y avait pas mal de messages dans ce forum sur le fait que les largeurs de tableaux étaient un peu "chatouilleuses" donc il n'y a peut être rien de neuf sous le soleil...
Bon courage, en tout cas.