FPDF/FPDI UseTemplate

早过忘川 提交于 2019-12-02 08:12:34

问题


I'm using FPDI & FPDF to overlay new text on top of an existing PDF. It uses the useTemplate() method to achieve this.

Problem I'm having - it only applies the template to the first page. If the text is long, it will wrap to a second page, using the SetAutoPageBreak() method. How can I make it apply the template on every page?


回答1:


I've cracked it. Looking into the code, I realised that even the SetAutoPageBreak() routine calls AddPage() internally, giving me the hook I needed to include my template on every page.

So, I extended the base FPDI class and over-rode the AddPage() method, including the useTemplate() stuff.

class BBPDF extends FPDI {
    function AddPage($orientation='', $size='') {
        parent::AddPage($orientation,$size);
        $this->setSourceFile('templates/discover-community.pdf');
        $template = $this->ImportPage(1);
        $this->useTemplate($template);
    }
}


来源:https://stackoverflow.com/questions/12112612/fpdf-fpdi-usetemplate

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!