我已经创建了使用 TCPDF 制作页面的类。

我需要将 HTML 转换为 pdf,所以我使用 writeHTMLAcceptPageBreak()
$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/

10-11 12:48