我已经创建了使用 TCPDF 制作页面的类。
我需要将 HTML 转换为 pdf,所以我使用 writeHTML
和 AcceptPageBreak()
。$html
是动态更改的,可能很长。
class MY_TCPDF extends TCPDF{
public function makePage($html){
$head_image="header.jpg";
$this->SetMargins(PDF_MARGIN_LEFT, 70, PDF_MARGIN_RIGHT);
$this->setPrintHeader(false);
$this->AddPage();
// get the current page break margin
$bMargin = $this->getBreakMargin();
// get current auto-page-break mode
$auto_page_break = $this->getAutoPageBreak();
// disable auto-page-break
$this->SetAutoPageBreak(false, 0);
// set bacground image
$img_file = $head_image;
$this->Image($img_file, 0, 0, 210, 68, '', '', '', false, 300, '', false, false, 0);
// restore auto-page-break status
//$this->SetAutoPageBreak($auto_page_break, PDF_MARGIN_BOTTOM);
// set the starting point for the page content
$this->setPageMark();
$this->writeHTML($html, true, false, true, false, '');
$this->lastPage();
ob_start();
//Close and output PDF document
$this->Output('my.pdf', 'I');
ob_end_flush();
}
public function AcceptPageBreak() {
$this->SetMargins(PDF_MARGIN_LEFT, 10, PDF_MARGIN_RIGHT);
$this->AddPage();
return false;
}
}
问题是我生成了 PDF,但在 PDF 的末尾总是有一个额外的空白页。
我尝试使用
$this->delete($this->getPage())
,但它只删除有内容的最后一页,并保留额外的空白页。这似乎 writeHTML
会在它之后创建一个分页符。如何防止这个额外的空白页?
最佳答案
我有同样的问题:
我修复了它:
class TCPDFextended extends \TCPDF {
public function Output($name = 'doc.pdf', $dest = 'I')
{
$this->tcpdflink = false;
return parent::Output($name, $dest);
}
}
关于php - TCPDF 如何防止额外的空白页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22600329/