FPDF - 定义XY位置的页面

时间:2018-02-19 17:32:13

标签: php export fpdf

我无法使用FPDF,SetXY()和$ pdf->定义将值放在哪些页面上。写

我有一个5页的pdf模板,我导入,然后导出,我想在导出这个文件之前将变量放在不同的位置。

例如:如何将文本'toto'放在我的PDF的第3页或第5页的'titi'上?

感谢您的帮助

$pdf = new FPDI('P', 'cm', 'A4');
$pdf->SetFont('Arial','',10); 
$file_name = "export_test.pdf"; 
$pageCount = $pdf->setSourceFile("exportPDF/exportRapo.pdf");

for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
    $tplIdx = $pdf->importPage($pageNo);
    $pdf->AddPage();
    $pdf->useTemplate($tplIdx);
}

$pdf->SetXY(20, 20);
$pdf->Write(0, 'Text de test');

header("Content-type:application/pdf");
header('Content-Length: '.filesize($file_name));
header('Content-Disposition: attachment; filename="' .$file_name. '"');

readfile($file_name);

2 个答案:

答案 0 :(得分:0)

for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
    $tplIdx = $pdf->importPage($pageNo);
    $pdf->AddPage();

    if($pageNo == 1)
    { 
      $pdf->SetXY(20, 20);
      $pdf->Write(0, 'Toto');
    }

    if($pageNo == 2)
    {
       $pdf->SetXY(10, 20);
       $pdf->Write(0, 'Titi');
    }
    ..........
    ..........
    $pdf->useTemplate($tplIdx);
}

根据您当前的代码,这似乎是一种方式。这似乎有点幼稚,但如果你可以根据页面编号找到页面的内容,那么它将更容易/更有效,而不是为每个页面添加多个if条件。

答案 1 :(得分:0)

PB : text covered by pdf

你知道如何将文字传递给pdf而不是下面吗? 在红色框中,文本通常应为“市警察,8”

for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
    $tplIdx = $pdf->importPage($pageNo);
    $pdf->SetTextColor(0,0,0); // noir
    $pdf->AddPage();


    if($pageNo == 1){ 
      $pdf->SetXY(11.5, 85);
      $pdf->Write(0, $recourseOrganizationName.','.$recourseOrganizationStreetNumber);
    }

  $pdf->useTemplate($tplIdx);
}