Я использую tcpdf впервые, и с помощью их документации я могу создавать контент с помощью table. Я не могу показать вам дизайн, но попытаюсь объяснить.
левая сторона - это одно изображение, а правая - одно изображение, а в середине будут видны всего 4 содержимого. иногда из этих 4 элементов 1 может отсутствовать. Это динамический c и может быть от 1 до 100 до 200 блоков.
Я создал <table>
с одним <tr>
и тремя <td>
, и это для l oop. Проблема заключается в том, что последний контент на первой странице не работает, и продолжить на второй, которая не работает. Я хочу, чтобы любое количество блоков подходило к первой странице, должно быть на первой странице, а затем создавать другую страницу и продолжать печатать блоки на них и так далее.
Вот мой код
$A4Ht = 210; //210 mm A4 page width
$A4Ht = 297; //297 mm A4 page height
$margin = 15;//margin from all side before pdf starts
$x1 = 15; //pdf starts from this x point
$x2 = 160; // event map starts from this x point
$pdfWidth = 200;
$this->load->library("tcpdf/tcpdf");
$pdf = new Tcpdf('P', 'mm', 'A4', true, 'UTF-8', false);
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->SetMargins($margin, $margin, $margin,true); // LEFT, TOP, RIGHT, BOTTOM
$pdf->setPageOrientation("P",true,$margin);
$pdf->SetTitle("Title");
$pdf->SetAuthor("Author");
$pdf->AddPage('P', 'A4');
$pdf->setPage(1, true);
$pdf->Image("logo.png",$x1,5,60,10.412,"png",'','',true,320);
$tbl = '<table style="background-color:#eee;"><tr><td width="4%"></td><td width="90%"><table><tr style="line-height:20px;"><td></td></tr></table><table cellspacing="0" cellpadding="1" style="margin-top:25px;">';
for($p=0;$p<$Count;$p++){
$image1 = "123.jpg";
$image2 = "456.jpg";
$title1 = "dynamic";
$title2 = "dynamic";
$title3 = "dynamic";
$title4 = "dynamic";
$addTitle1 = '<table cellpadding="2"><tr><td valign="top" width="5%"></td><td width="90%">'.$title1.'</td></tr></table>';
$addTitle2 = '<table cellpadding="2"><tr><td valign="top" width="5%"></td><td width="90%">'.$title2.'</td></tr></table>';
$addTitle3 = '<table cellpadding="2"><tr><td valign="top" width="5%"></td><td width="90%">'.$title3.'</td></tr></table>';
$addTitle4 = '<table cellpadding="2"><tr><td valign="top" width="5%"></td><td valign="top" width="8%"><img width="100" src="'.$pathWeb.'/icon.png" /></td ><td valign="middle" width="82%"> '.$title4.'</td></tr></table>';
$tbl.='<tr>
<td width="25%"><img src="'.$image1.'" width="140" height="105"></td>
<td width="46%">
<tr><td style="font-family:AvenirNext-Bold;color:#000;font-size:14px;line-height:15px;">'.$addTitle1.'</td></tr>
<tr><td style="font-family:AvenirNext-Bold;color:#0096ff;font-size:10px;">'.$addTitle2.'</td></tr>
<tr><td style="font-family:AvenirNext-DemiBold;color:#000;font-size:6px;">'.$addTitle3.'</td></tr>
<tr><td style="font-family:AvenirNext-DemiBold;color:#000;font-size:9px;">'.$addTitle4.'</td></tr>
</td>
<td width="29%"><img src="'.$image2.'" width="160" height="100"></td>
</tr>';
}
$tbl.='</table><table><tr style="line-height:20px;"><td></td></tr></table></td><td width="4%"></td></tr></table>';
$tbl=utf8_encode($tbl);
$pdf->writeHTML($tbl, true, false, false, false, '');
Я не могу разорвать страницу и продолжить на второй странице. некоторые блоки наполовину занимают первое место, а остальные - второе. несколько блоков занимают 95% на первой странице, а остальные - на второй. как мне go опередить это