为什么我的桌子不适合PDF输出?

时间:2011-06-06 02:32:49

标签: php pdf-generation fpdf

我正在使用FPDF(从PHP生成PDF)。我想在表格标题中显示我的数组中的所有项目,但只显示一些项目,例如列表太大而不适合,但格式不正确。我还不明白如何移动表格标题的尺寸。

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 个答案:

答案 0 :(得分:1)

在您的代码中:

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

if count($ header)&gt; 4然后你就遇到了麻烦...就像我在你的截图中看到的那样。 对于未定义的值,您将使用0作为第一个参数...这意味着全宽。

PS:打开错误报告以查看您的错误,确定php会抛出它们。