2012-08-24 8 views
1

FPDF & FPDF를 사용하여 기존 PDF 위에 새 텍스트를 오버레이합니다. 이를 달성하기 위해 useTemplate() 메서드를 사용합니다.FPDF/FPDI UseTemplate

문제 저는 첫 번째 페이지에만 템플릿을 적용합니다. 텍스트가 길다면 SetAutoPageBreak() 메서드를 사용하여 두 번째 페이지로 줄 바꿈됩니다. 모든 페이지에 템플릿을 적용하려면 어떻게해야합니까?

답변

5

나는 그것을 부숴 버렸다. 코드를 살펴보면 SetAutoPageBreak() 루틴조차도 내부적으로 AddPage()를 호출하여 모든 페이지에 내 템플릿을 포함시켜야한다는 사실을 깨달았습니다.

그래서 기본 FPDI 클래스를 확장하고 useTemplate() 등 AddPage() 메서드를 오버로드했습니다.

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); 
    } 
}