2015-04-17 3 views
1

Это код im, используемый для создания списка из данных, которые я получаю из базы данных. Im, использующий для каждого цикла, чтобы поместить все данные на экран с его переменной amout данных, которая выходит из базы данных.Автоматический разрыв страницы FPDF

Теперь им приходится сталкиваться с проблемой, что она останавливается, когда имеется 38 строк данных ... Я поставил SetAutoPageBreak (true, 10); но он, похоже, не работает.

Я любезно акс, если у кого-то есть возможное решение.

Спасибо переда :)

$pdf = new FPDF('P','mm','A4'); 
$pdf->addPage(); $pdf->SetFont('Arial','B',16); 
$pdf->SetMargins(10, 10); 
$pdf->SetAutoPageBreak(true, 10); 


// De kop 
$pdf->SetTextColor(0,0, 0); 
$pdf->Text(10, 15, "Balansformulier", TRUE); 
$pdf->Text(10, 25, "#", TRUE); 
$pdf->Text(30, 25, "Naam", TRUE); 
$pdf->Text(100, 25, "Waar", TRUE); 
$pdf->Text(154, 25, "Aanwezig?", TRUE); 


$pdf->SetFont('Arial','i',11); 

// horizontale waardes voor de variabelen 
$x1=30; 
$x2=100; 
$x3=160; 

// veritcale waardes voor de variabelen 
$y=30; 
$y2=27; 

// waardes voor de nummers 
$xnummer=10; 
$ynummer=30; 
$nummer=0; 

//Waardes voor de lijnen 
$xlijn=10; 
$ylijn=31; 



for($i=0; $i<5; $i++){ 


    foreach($balans_lijst as $balans){ 

     $nummer++; 

     $naam = $html_entities->html_ent($balans['naam']); 
     $waar = $html_entities->html_ent($balans['waar']); 


     $y = $y+7; 
     $y2 = $y2+7; 

     $ynummer = $ynummer+7; 

     $ylijn = $ylijn+7; 



     $pdf->SetXY($x1, $y); 


     //Stukken erop zetten 
     $pdf->Text($xnummer,$ynummer,"{$nummer}.",1,'L', TRUE); 
     $pdf->Text($x1,$y,"{$naam}",1,'L', TRUE); 
     $pdf->Text($x2,$y,"{$waar}",1,'L', TRUE); 
     $pdf->Line($xlijn, $ylijn, 190, $ylijn); 

     $pdf->Rect($x3, $y2, 3, 3); 



    } 
} 
+0

если функция по умолчанию не работает чем вы пытались связаться со службой поддержки или любой другой поддержкой FPDF? –

ответ

1

Сброс х у и $ pdf-> AddPage();

(...)

//Stukken erop zetten 
       if($nummer % 38 === 0){ 
        // horizontale waardes voor de variabelen 
        $x1=30; 
        $x2=100; 
        $x3=160; 

        // veritcale waardes voor de variabelen 
        $y=30; 
        $y2=27; 

        // waardes voor de nummers 
        $xnummer=10; 
        $ynummer=30; 

        //Waardes voor de lijnen 
        $xlijn=10; 
        $ylijn=31; 
        $pdf->AddPage(); 
       } 
$pdf->Text($xnummer,$ynummer,"{$nummer}.",1,'L', TRUE); 
       $pdf->Text($x1,$y,"{$naam}",1,'L', TRUE); 
       $pdf->Text($x2,$y,"{$waar}",1,'L', TRUE); 
       $pdf->Line($xlijn, $ylijn, 190, $ylijn); 

(...)

Полный пример

$pdf = new \FPDF('P','mm','A4'); 
     $pdf->addPage(); $pdf->SetFont('Arial','B',16); 
     $pdf->SetMargins(10, 10); 
     $pdf->SetAutoPageBreak(true, 10); 


     // De kop 
     $pdf->SetTextColor(0,0, 0); 
     $pdf->Text(10, 15, "Balansformulier", TRUE); 
     $pdf->Text(10, 25, "#", TRUE); 
     $pdf->Text(30, 25, "Naam", TRUE); 
     $pdf->Text(100, 25, "Waar", TRUE); 
     $pdf->Text(154, 25, "Aanwezig?", TRUE); 


     $pdf->SetFont('Arial','i',11); 

     // horizontale waardes voor de variabelen 
     $x1=30; 
     $x2=100; 
     $x3=160; 

     // veritcale waardes voor de variabelen 
     $y=30; 
     $y2=27; 

     // waardes voor de nummers 
     $xnummer=10; 
     $ynummer=30; 
     $nummer=0; 

     //Waardes voor de lijnen 
     $xlijn=10; 
     $ylijn=31; 

     for($i=0; $i<5; $i++){ 


      for($i=0; $i<500; $i++){ 

       $nummer++; 

       $naam = 'XXXXXX'; 
       $waar = 'XXXXXXXXXX'; 


       $y = $y+7; 
       $y2 = $y2+7; 

       $ynummer = $ynummer+7; 

       $ylijn = $ylijn+7; 



       $pdf->SetXY($x1, $y); 


       //Stukken erop zetten 
       if($nummer % 38 === 0){ 
        // horizontale waardes voor de variabelen 
        $x1=30; 
        $x2=100; 
        $x3=160; 

        // veritcale waardes voor de variabelen 
        $y=30; 
        $y2=27; 

        // waardes voor de nummers 
        $xnummer=10; 
        $ynummer=30; 

        //Waardes voor de lijnen 
        $xlijn=10; 
        $ylijn=31; 
        $pdf->AddPage(); 
       } 
       $pdf->Text($xnummer,$ynummer,"{$nummer}.",1,'L', TRUE); 
       $pdf->Text($x1,$y,"{$naam}",1,'L', TRUE); 
       $pdf->Text($x2,$y,"{$waar}",1,'L', TRUE); 
       $pdf->Line($xlijn, $ylijn, 190, $ylijn); 

       $pdf->Rect($x3, $y2, 3, 3); 



      } 
     } 
0

Он сделал разницу для меня, когда я добавил его непосредственно после создания нового объекта ,

$pdf = new PDF(); 
$pdf->SetAutoPageBreak(true,10); 
Смежные вопросы