FPDF - Другие способы вызова верхнего и нижнего колонтитула с контроллером Codeigniter - PullRequest
0 голосов
/ 24 мая 2018

Я новичок в FPDF и пытаюсь изменить заголовок и нижний колонтитул, когда я использовал

    function Header()
    {
       $this->SetFont('Arial','B',15);
       $this->Cell(80);
       $this->Cell(30,10,'Title',1,0,'C');
       $this->Ln(20);
    }

Ошибка: 1004 *

Невозможно повторно объявить заголовок() ',

так что я спрашиваю, есть ли другой способ вызова верхнего и нижнего колонтитула?как

$pdf->header->SetFont('Arial','B',15)

или что-то?

Вот мой код, я скопировал его из учебника 2 FPDF, я не хочу, чтобы он просматривался, я хотел его вконтроллер, чтобы он мог звонить все время

public function tutorial2()
{
    $this->load->library('myfpdf'); 
    // function Header()
    // {
    //     $this->SetFont('Arial','B',15);
    //     $this->Cell(80);
    //     $this->Cell(30,10,'Title',1,0,'C');
    //     $this->Ln(20);
    // } -- the Header function that is normally used

    $pdf = new FPDF();
    $pdf->AliasNbPages();
    $pdf->AddPage();
    $pdf->SetFont('Times','',12);
    //$pdf->footer->SetY(-15);
    //$pdf->footer->SetFont('Arial','I',8);
    //$pdf->footer->Cell(0,10,'Page '.$pdf->footer->PageNo().'/{nb}',0,0,'C');      -- not actually a working, or is there another way?
    for($i=1;$i<=40;$i++)
        $pdf->Cell(0,10,'Printing line number '.$i,0,1);
    $pdf->Output();     
}

1 Ответ

0 голосов
/ 25 мая 2018

Загрузите FPDF с веб-сайта .После загрузки файла, распакуйте его, вы найдете папку с именем «fpdf181» (где 181 - версия FPDF).

  1. Теперь переместите эту папку в папку «application / third_party» на Codeigniter.
  2. Теперь создайте новую библиотеку с именем «CustomFPDF.php» в папке «application / library» на Codeigniter.Скопируйте приведенный ниже код в этот файл «CustomFPDF.php»

Код:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

require(APPPATH . 'third_party/fpdf181/fpdf.php');

class CustomFPDF extends FPDF {

    public function header($family){
        $this->SetFont($family,'B',15);
        $this->Cell(80);
        $this->Cell(30,10,'Title',1,0,'C');
        $this->Ln(20);
    }

    public function getInstance(){
        return new CustomFPDF();
    }
}
?>

Теперь создайте контроллер в «приложении / контроллерах» и используйте следующее в своей функции, где вы используете FPDF:

    $this->load->library('CustomFPDF');
    $pdf = $this->customfpdf->getInstance();

    $pdf->AliasNbPages();
    $pdf->AddPage();
    $pdf->header('Arial');
    $pdf->SetFont('Times','',12);
    for($i=1;$i<=40;$i++)
        $pdf->Cell(0,10,'Printing line number '.$i,0,1);
    $pdf->Output(); 
...