TCPDF - setPage并添加与现有内容相关的内容

时间:2015-10-14 10:18:02

标签: php pdf tcpdf

在我的PDF中,我需要创建封面。 如果可以创建封面页面,添加更多页面以及添加其他页面,那么返回封面页面并添加更多内容将非常方便。

以下效果很好(例1):

$pdf->AddPage();
$pdf->writeHTML('<h1>COVER PAGE HERE!</h1>', true, false, false, false, '');
$pdf->writeHTML('<h2>Some more content for cover page!</h2>', true, false, false, false, '');

这会生成一个渲染良好的封面页。

以下内容无法正常工作(示例2):

// Add Cover page
$pdf->AddPage();
$pdf->writeHTML('<h1>COVER PAGE HERE!</h1>', true, false, false, false, '');

// Add some content page(s)
$pdf->AddPage();
$pdf->writeHTML('<p>Content page...</p>', true, false, false, false, '');

// Go back to cover page and add more content...
$pdf->setPage(1);
$pdf->writeHTML('<h2>Some more content for cover page!</h2>', true, false, false, false, '');

封面页上的2行重叠(或者至少它们的位置与示例1中的不同)。

有没有办法跳转到现有页面并添加一些内容?

1 个答案:

答案 0 :(得分:0)

嗯,明白了。 您可以获取/设置当前页面的Y位置。

以下作品:

// Add Cover page
$pdf->AddPage();
$pdf->writeHTML('<h1>COVER PAGE HERE!</h1>', true, false, false, false, '');
$start_y = $pdf->GetY();

// Add some content page(s)
$pdf->AddPage();
$pageNo = $pdf->getPage();
$pdf->writeHTML('<p>Content page...</p>', true, false, false, false, '');

// Go to cover page and add more content...
$pdf->setPage(1);
$pdf->setY($start_y);
$pdf->writeHTML('<h2>Some more content for cover page!</h2>', true, false, false, false, '');

// Go back to current page
$pdf->setPage($pageNo);

由于某些原因,PHPStorm在代码完成时没有显示这些方法,所以我已经监督了它们......