Я работаю с TCPDF (v6.2.25) в течение нескольких дней, и я застрял в чем-то сложном. Мой клиент должен печатать информацию с некоторыми полями на каждой странице, используя Multicell (в текстовой области). Например, на первой странице поля равны $pdf-> SetMargins (32, 44.5, 11);
, а на второй странице поля $pdf-> SetMargins (12, 27.5, 29);
, поскольку печатаемый им документ обычно содержит более 3 страниц (лицевая, оборотная, лицевая) ... иногда ему необходимо печатайте с полями в другом порядке (задняя, лицевая и т. д.), поскольку бумага, которую он использует, является правительственным документом, и ему нужно следовать порядку, и он не может оставлять белые строки без письма.
У меня вопрос, как я могу сбросить поля в TCPDF на каждой новой странице?
Вот мой код:
// library
require_once($_SERVER['DOCUMENT_ROOT'] . '/pdf/tcpdf.php');
define('K_CELL_HEIGHT_RATIO', 2);
$pdf = new TCPDF('P', 'mm', 'usletter', true, 'UTF-8', false);
// remove
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
// set font
$pdf->SetFont('times', '', 12);
// $page is for front or back, this is chosen by my client when he sees the page
// $line is for the row where the document will start printing, my client chooses the line, the page has only 24 lines where printing is allowed
if($page == 'front'){
if($line == '1'){ $nline = '44.5'; }
if($line == '2'){ $nline = '53'; }
...
if($line == '24'){ $nline = '240'; };
// set margins(right, top, left);
$pdf->SetMargins(32, $nline, 11);
$pdf->SetAutoPageBreak(TRUE, 48);
} else {
if($line == '1'){ $nline = '27.5'; }
if($line == '2'){ $nline = '36'; }
...
if($line == '24'){ $nline = '223'; };
$pdf->SetMargins(12, $nline, 29);
$pdf->SetAutoPageBreak(TRUE, 63.5);
}
$txt = 'document info.....';
$pdf->Multicell(171, 181, $txt, 0, 'J', 0, 1, '', '', false, 0, true, false, 0);
$pdf->Output('document.pdf', 'I');
Прямо сейчас только первая страница распознает $page
и $line
на других страницах, поля такие же, как на первой, а $line
тоже, что и первая страница, и мне нужно, чтобы на следующих страницах сбросьте поля для строки 1, а верхнее поле для передней или задней страницы в соответствии с соответствующей страницей.