пропорции mpdf, потеря высоты таблицы в таблице - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь создать указанную c структуру таблицы в mpdf.

Я добавляю таблицы в таблицы, чтобы впоследствии я мог переключить структуру внутри основной таблицы.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>New layout test</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <table class="main" cellpadding="0" cellspacing="0">
        <tr>
            <td class="left">
                <table class="table-left" cellpadding="0" cellspacing="0">
                    <tr>
                        <td class="table-left-een">1</td>
                    </tr>
                    <tr>
                        <td class="table-left-twee">2a</td>
                    </tr>
                    <tr>
                        <td class="table-left-drie">2b</td>
                    </tr>
                </table>
            </td>
            <td class="right">
                <table class="table-right" cellpadding="0" cellspacing="0">
                    <tr>
                        <td class="table-right-een">3</td>
                    </tr>
                    <tr>
                        <td class="table-right-twee">4</td>
                    </tr>
                    <tr>
                        <td class="table-right-drie">5</td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
</body>
</html>
* {
    margin:0;
    padding: 0;
}

.main {
    page-break-inside: avoid;
    margin: 2px;
    width: 297mm;
    height: 210mm;
    border: 1px solid black;
    border-collapse: collapse;
}

.left {
    width: 50%;
    border-right: 3px solid black;
}

.table-left, .table-right {
    width: 100%;
    height: 100%;
}

.table-left tr {
    border: 1px solid black;
}

.table-left-een {
    height: 45%;
    border-bottom: 1px solid black;
}

.table-left-twee {
    height: 45%;
    border-bottom: 1px solid black;
}

.table-left-drie {
    height: 10%;
}

.table-right-een {
    height: 38%;
    border-bottom: 1px solid black;
}

.table-right-twee {
    height: 38%;
    border-bottom: 1px solid black;
}

.table-right-drie {
    height: 24%;
}
<?php
require_once __DIR__ . '/vendor/autoload.php';

ob_start(); // Start output buffer capture.
include("index.html"); // Include your template.
$html = ob_get_contents(); // This contains the output of template.php
ob_end_clean(); // Clear the buffer.


$stylesheet = file_get_contents('style.css');

$mpdf = new \Mpdf\Mpdf(['mode' => 'utf-8', 'format' => 'A4-L']);

$mpdf->WriteHTML($stylesheet,\Mpdf\HTMLParserMode::HEADER_CSS);
$mpdf->WriteHTML($html);
$mpdf->Output();

Представление результата в mpdf mpdf table height loss

Как я уже читал в документации, лучше использовать размер в мм. Поэтому я взял размеры альбомной бумаги формата А4 и добавил их. Я перемещаю все остальное, используя процент, чтобы сохранить пропорции, если mpdf нужно изменить его размер.

Но по какой-то причине mpdf решает сбросить размер высоты основных таблиц и границу при создании pdf.

...