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);
}
我无法用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);
}