FPDI不会导入指定数量的页面

时间:2017-11-21 19:46:48

标签: php html fpdf fpdi

我有FPDI / FPDF的问题。我有一个表格,根据所选的选项(1,2或3),使用源模板各1页,2或3页。

$num_experiencias = $_POST["totalExpPdf"];

if($num_experiencias == "1"){
    $pdf->setSourceFile(dirname(dirname(__FILE__)) .'/pdfs/guia_uno_blanco.pdf'); // one blank page             
} else if($num_experiencias == "2"){
    $pdf->setSourceFile(dirname(dirname(__FILE__)) .'/pdfs/guia_dos_blanco.pdf'); // two blank pages
} else{
    $pdf->setSourceFile(dirname(dirname(__FILE__)) .'/pdfs/guia_tres_blanco.pdf'); // three blank pages
}

因此,如果$ num_experiencias为1,我会在pdf中写一些内容,如果数字为2或3,我也会编写其他内容。

// ******** PAGE 1 ********
$pageId = $pdf->ImportPage(1);
$pdf->AddPage();
$pdf->useTemplate($pageId, null, null, 0, 0, true); 

// IMAGE
$pdf->Image($imagen1,10,10,234,170);

// NUM EXP
$pdf->SetXY(30, 35);
$pdf->SetFont('Quicksand-Regular', '', 16);
$pdf->SetTextColor(255, 255, 255);
$pdf->MultiCell(50, 13, utf8_decode('Experiencia 1/'.$num_experiencias), 0, 'C');

// ******** PAGE 2 ********
 if ($num_experiencias >= "2"){
    $pageId = $pdf->ImportPage(2);
    $pdf->AddPage();
    $pdf->useTemplate($pageId, null, null, 0, 0, true); 

    // IMAGE
    $pdf->Image($imagen2,10,10,234,170);
}

// ******** PAGE 3 ********
if($num_experiencias == "3"){
    $pageId = $pdf->ImportPage(3);
    $pdf->AddPage();
    $pdf->useTemplate($pageId, null, null, 0, 0, true); 

    // IMAGE
    $pdf->Image($imagen3,10,10,234,170);
}

问题是如果我只想要1页($ num_experiencias == 1),则输出pdf是6页长(而不是1)。如果$ num_experiencias是2,则pdf现在是12页长(当它应该是2)并且如果$ num_experiencias是3,则pdf现在是18页长(当它应该是3时)。发生了什么事? O.o

1 个答案:

答案 0 :(得分:0)

您的代码似乎会触发自动分页。

如果将字体颜色设置为白色以外的其他颜色,则应该看到哪些项目正在触发此颜色。

要禁用它,只需调用

$pdf->SetAutoPageBreak(false);
在将任何内容写入页面/文档之前