Recuerda que en la informática un error puede tener diversas soluciones, así que nosotros te mostramos lo más óptimo y mejor.
Solución:
Estoy usando
.
Método de búsqueda escribirHTML y código
if ($dom[$key]['tag'] AND isset($dom[$key]['attribute']['pagebreak']))
// check for pagebreak
if (($dom[$key]['attribute']['pagebreak'] == 'true') OR ($dom[$key]['attribute']['pagebreak'] == 'left') OR ($dom[$key]['attribute']['pagebreak'] == 'right'))
// add a page (or trig AcceptPageBreak() for multicolumn mode)
$this->checkPageBreak($this->PageBreakTrigger + 1);
if ((($dom[$key]['attribute']['pagebreak'] == 'left') AND (((!$this->rtl) AND (($this->page % 2) == 0)) OR (($this->rtl) AND (($this->page % 2) != 0))))
OR (($dom[$key]['attribute']['pagebreak'] == 'right') AND (((!$this->rtl) AND (($this->page % 2) != 0)) OR (($this->rtl) AND (($this->page % 2) == 0)))))
// add a page (or trig AcceptPageBreak() for multicolumn mode)
$this->checkPageBreak($this->PageBreakTrigger + 1);
Puede usar TCPDF Añadir página() método en combinación con explotar() y un delimitador adecuado:
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8',
false);
// TCPDF initialization code (...)
$delimiter = '';
$html = file_get_contents('./test.html');
$chunks = explode($delimiter, $html);
$cnt = count($chunks);
for ($i = 0; $i < $cnt; $i++)
$pdf->writeHTML($delimiter . $chunks[$i], true, 0, true, 0);
if ($i < $cnt - 1)
$pdf->AddPage();
// Reset pointer to the last page
$pdf->lastPage();
// Close and output PDF document
$pdf->Output('test.pdf', 'I');
Traté de usar
o
cada uno de ellos dio como resultado que no comenzara una nueva página en la parte superior de la página, sino que agregara el espacio vacío completo de la página A4 entre el texto HTML. Entonces, si el texto terminaba en el medio de la página y luego se insertaba un salto de página, el nuevo texto se escribía desde el medio de la página siguiente. que yo no quería.
Lo que funcionó fue esto (lo encontré aquí TCPDF forzando una nueva página):
$pdf->writeHTML($content, true, 0, true, 0);
$pdf->AddPage();
$pdf->setPage($pdf->getPage());
Esto ahora comienza escribiendo texto en la parte superior de la página.