使用fpdf删除页面

时间:2013-06-26 10:24:39

标签: php pdf fpdf fpdi

我想从使用fpdf库创建的PDF中删除一些页面,

$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage(); 

是否有任何删除页面的功能。我不熟悉FPDF。

1 个答案:

答案 0 :(得分:1)

您想使用FPDI。摆脱"删除"的心态页面。相反,将其视为"不插入"页面。让我们说我想跳过第3,15,17和22页。这里是你如何做到的:

$pdf = new FPDI();
$pageCount = $pdf->setSourceFile('document.pdf');

//  Array of pages to skip -- modify this to fit your needs
$skipPages = [3,15,17,22];

//  Add all pages of source to new document
for( $pageNo=1; $pageNo<=$pageCount; $pageNo++ )
{
    //  Skip undesired pages
    if( in_array($pageNo,$skipPages) )
        continue;

    //  Add page to the document
    $templateID = $pdf->importPage($pageNo);
    $pdf->getTemplateSize($templateID);
    $pdf->addPage();
    $pdf->useTemplate($templateID);
}

$pdf->Output();

请注意,我没有包含很多你可以用FPDI做的事情,包括确定页面的方向。为简单起见,我也跳过了一些错误检查。将其视为一个模板来处理,而不是最终的代码,因为它最终只是一个快速的骨架。