mpdf изменить размер, чтобы соответствовать пейзажу a4 - PullRequest
0 голосов
/ 31 января 2020

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

<?php

require_once __DIR__ . '/vendor/autoload.php';

ob_start();
$html = '
<table cellspacing="0" border="0">
    <colgroup width="13"></colgroup>
    <colgroup span="3" width="24"></colgroup>
    <colgroup width="12"></colgroup>
    <colgroup width="58"></colgroup>
    <colgroup width="50"></colgroup>
    <colgroup width="47"></colgroup>
    <colgroup width="34"></colgroup>
    <colgroup width="70"></colgroup>
    <colgroup width="30"></colgroup>
    <colgroup width="27"></colgroup>
    <colgroup width="30"></colgroup>
    <colgroup width="77"></colgroup>
    <colgroup width="81"></colgroup>
    <colgroup width="58"></colgroup>
    <colgroup width="11"></colgroup>
    <colgroup span="3" width="25"></colgroup>
    <colgroup span="2" width="11"></colgroup>
    <colgroup width="12"></colgroup>
    <colgroup span="5" width="58"></colgroup>
    <colgroup width="65"></colgroup>
    <colgroup span="3" width="58"></colgroup>
    <colgroup width="10"></colgroup>
    <colgroup span="3" width="26"></colgroup>
    <colgroup width="11"></colgroup>
    <colgroup span="3" width="27"></colgroup>
    <colgroup width="14"></colgroup>
    <tr>
        <td style="border-top: 2px solid #000000; border-left: 2px solid #000000" height="29" align="left" valign=bottom><font color="#000000"><br></font></td>
....        <td style="border-top: 2px solid #000000" colspan=6 rowspan=2 align="left" valign=bottom><font 

<br></font></td>
        <td style="border-bottom: 2px solid #000000" align="left" valign=bottom><font color="#000000"><br></font></td>
        <td style="border-bottom: 2px solid #000000" align="left" valign=bottom><font color="#000000"><br></font></td>
        <td style="border-bottom: 2px solid #000000" align="left" valign=bottom><font color="#000000"><br></font></td>
        <td style="border-bottom: 2px solid #000000" align="left" valign=bottom><font color="#000000"><br></font></td>
        <td style="border-bottom: 2px solid #000000; border-left: 1px solid #000000" align="left" valign=bottom><font color="#000000"><br></font></td>
        <td style="border-bottom: 2px solid #000000" align="left" valign=bottom><font color="#000000"><br></font></td>
        <td style="border-bottom: 2px solid #000000" align="left" valign=bottom><font color="#000000"><br></font></td>
        <td style="border-bottom: 2px solid #000000" align="left" valign=bottom><font color="#000000"><br></font></td>
        <td style="border-bottom: 2px solid #000000; border-right: 2px solid #000000" align="left" valign=bottom><font color="#000000"><br></font></td>
    </tr>
    <tr>
        <td height="17" align="left" valign=bottom><font color="#000000"><br></font></td>
        <td colspan=19 align="right" valign=top><font color="#000000">Versie 2016</font></td>
        <td align="left" valign=bottom><font color="#000000"><br></font></td>
        <td align="left" valign=bottom><font color="#000000"><br></font></td>
        <td align="left" valign=bottom><font color="#000000"><br></font></td>
        <td colspan=6 align="left" valign=top><font color="#000000">(1) Naam en graad van de leider van het werk</font></td>
        <td colspan=11 align="right" valign=top><font color="#000000">(2) Naam en graad van de bediende beweging</font></td>
        <td align="left" valign=top><font color="#000000"><br></font></td>
    </tr>
</table>
';

$mpdf = new \Mpdf\Mpdf([
    'mode' => 'utf-8', 
    'format' => 'A4-L',
    'shrink_tables_to_fit' => 0.5
    ]);
$pdf->SetDisplayMode('fullpage');
$mpdf->WriteHTML($html);
$mpdf->Output();

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

Я надеюсь, что кто-то может указать мне правильное направление.

...