php - hoja - ¿Por qué el colapso de borde no funciona en html2pdf?
html2pdf version php (2)
Encontré una solución alternativa, si sustituyo la propiedad css border-collapse: collapse;
por cellspacing="0"
el resultado se ve bien.
<table cellspacing="0" style="width: 100%; border:2px solid;position: relative;">
Quiero crear un pdf con una tabla html como:
Entonces, creé este html:
<table style="width: 100%; border:2px solid; border-collapse: collapse; padding: 0; margin: 0;">
<tr style="border-bottom: 1px solid;">
<th style="border-left: 1px solid; width: 60%;">Ref produit</th>
<th style="border-left: 1px solid; width: 10%;">Taille</th>
<th style="border-left: 1px solid; width: 10%;">Quantit�</th>
<th style="border-left: 1px solid; width: 10%;">Prix net HT</th>
<th style="border-left: 1px solid; width: 10%;">Montant HT</th>
</tr>
<tr>
<td style="border-left: 1px solid;">BAL100</td>
<td style="border-left: 1px solid; text-align: center;">S</td>
<td style="border-left: 1px solid; text-align: center;">20</td>
<td style="border-left: 1px solid; text-align: center;">22.00</td>
<td style="border-left: 1px solid; text-align: center;">440</td>
</tr>
<tr>
.
.
.
</tr>
</table>
El resultado del pdf es:
¡La frontera desapareció!
Si elimino la propiedad border-collapse: collapse;
Los bordes aparecen pero el resultado no es apropiado.
Veo en el foro oficial (publicación en francés) que la propiedad border-collapse solo funciona en la table
etiquetas. Así que no entiendo por qué mi tabla no se genera correctamente.
¿Alguna idea?
Aquí está mi código php para generar el pdf
$html2pdf = new HTML2PDF(''P'',''A4'',''fr'');
$html2pdf->WriteHTML($htmlContent);
$html2pdf->Output($path, ''F'');
border-collapse: collapse;
Se supone que se fusionan dos de las mismas fronteras adyacentes juntas. Cuando lo use en html2pdf, debe diseñar los atributos de border-left
y de border-right
(como la misma cosa), que al contraerlos producirán un solo borde. Además, para escribir este CSS a la defensiva, y no asumir la herencia del atributo de border-color
, técnicamente debe especificarlo al definir el borde, como border: 1px solid black;