添加页面的 TCPDF 问题

TCPDF Issue With Adding Pages

我正在尝试在 HTML 生成的纵向 PDF 中间添加横向页面。我已将 AutoPageBreak 设置为 true,但这会导致当我调用 AddPage() 时页面重叠。例如:

    $pageBody = "<h1>Test</h1><p>Long content here so that auto page break comes into effect</p>";
    $pageBody .= "<br pagebreak=\"true\" /><h2>Page Two</h2>";
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
    $pdf->AddPage();
    $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
    $pdf->writeHTMLCell(170, '', 20, 50, $pageBody, 0, 0, false, true, '', true);
    $pdf->endPage();

    $pageBody2 = "<h1>Test Page 3 Landscape</h1>";
    $pdf->AddPage('L');
    $pdf->writeHTMLCell(170, '', 20, 50, $pageBody2, 0, 0, false, true, '', true);
    $pdf->endPage();
    $pdf->Output('my.pdf', 'I');

这导致第一个页面正确显示(在自动分页后),但第二个内容 pageBody2 重叠在第一组页面的顶部。

添加分页符,使用

<br pagebreak="true"/>

<tcpdf method="AddPage" />

您需要将 AutoPageBreak 损坏页面中 writeHTMLCell() 调用的 $ln(第 7 个)参数从 0 更改为 1(或 2):

$pdf->writeHTMLCell(170, '', 20, 50, $pageBody, 0, 1, false, true, '', true);

以便新横向页面转到下一行的开头 (1) 或下方 (2) 最后一个框 $pageBody 而不是右侧它。