FPDF - 为位置 XY 定义页面

FPDF - Define page for position XY

我无法用FPDF、SetXY()和$pdf->Write

定义我的值放在哪些页面上

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

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

感谢您的帮助

$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);
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);
}

根据您目前的代码,这似乎是一种方法。这似乎有点天真,但如果你能以某种方式根据页号计算出页面的内容,那就是 easier/efficient,而不是为每个页面设置多个 if 条件。

PB : text covered by pdf

您知道如何通过 pdf 而非下方传递文本吗? 在红色框中,文本通常应显示为 "Municipal Police, 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);
}