Подтвердить что ты не робот

Почему в html2pdf не работает граница?

Я хочу создать PDF с HTML-таблицей, например: tableEx

Итак, я создал этот 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>

Результат в формате pdf:

enter image description here

Границы исчезли!

Если я удаляю свойство border-collapse: collapse;, появляются границы, но результат не подходит.

На официальном форуме (французский пост) я вижу, что свойство border-collapse работает только для тега table. Поэтому я не понимаю, почему моя таблица не генерируется должным образом.

Любая идея?

Вот мой PHP-код для создания PDF

$html2pdf = new HTML2PDF('P','A4','fr');
$html2pdf->WriteHTML($htmlContent);
$html2pdf->Output($path, 'F');
4b9b3361

Ответ 1

border-collapse: collapse; предполагается объединить две одинаковые смежные границы. При использовании в html2pdf вы должны стирать как атрибуты border-left, так и border-right (как одно и то же), которые при свертывании создают единую границу. Кроме того, чтобы написать этот CSS защитно, и не предполагать наследование атрибута border-color, вы должны технически указать его при определении границы, например border: 1px solid black;

Ответ 2

Я нашел обходное решение, если я заменил свойство css border-collapse: collapse; на cellspacing="0", результат выглядит ОК.

<table cellspacing="0" style="width: 100%; border:2px solid;position: relative;">