Почему моя таблица не помещается в вывод PDF? - PullRequest
1 голос
/ 06 июня 2011

Я использую FPDF (генерировать PDF из PHP). Я хочу показать все элементы в моем массиве в заголовках таблиц, но отображаются только некоторые из них, например, список слишком велик, но не отформатирован должным образом. Я пока не понимаю, как переместить размеры для заголовка таблицы.

header for table

Это мой код:

<?php
require('fpdf.php');

class PDF extends FPDF
{
//Load data
function LoadData($file)
{
//Read file lines
$lines=file($file);
$data=array();
foreach($lines as $line)
    $data[]=explode(';',chop($line));
return $data;
    }

    //Colored table
    function FancyTable($header,$data)
    {
//Colors, line width and bold font
$this->SetFillColor(255,0,0);
$this->SetTextColor(255);
$this->SetDrawColor(128,0,0);
$this->SetLineWidth(.3);
$this->SetFont('','B');
//Header
$w=array(40,35,40,45);
for($i=0;$i<count($header);$i++)
    $this->Cell($w[$i],7,$header[$i],1,0,'C',true);
$this->Ln();


$this->Cell(array_sum($w),0,'','T');
    }
     }

     $pdf = new PDF('L', 'mm', 'A4');
     //Column titles
     $header=array('Name','Surname','Date','Start','Br Start','Br End','Start','End','Centre');
     //Data loading
     $data=$pdf->LoadData('countries.txt');
    $pdf->SetFont('Arial','',12);
    $pdf->AddPage();
    $pdf->FancyTable($header,$data);
     $pdf->Output();
       ?>

1 Ответ

1 голос
/ 27 апреля 2012

В вашем коде:

$w=array(40,35,40,45);
for($i=0;$i<count($header);$i++)

если count ($ header)> 4, то у вас проблемы ... как я вижу на скриншоте. Для не определенных значений у вас будет 0 в качестве первого параметра ... что означает полную ширину.

PS: включите отчеты об ошибках, чтобы увидеть ваши ошибки, наверняка php их выдаст.

...