2013-06-26 116 views
0

我想從使用FPDF庫中創建我的PDF刪除一些網頁,刪除頁面使用FPDF

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

是否有任何功能,刪除頁面。我不熟悉FPDF。

+1

FPDF不允許刪除頁面。您可以嘗試TCPDF,它具有deletePage(page_no)功能,允許您刪除頁面。 – creatvepro

+0

我假設'unset($ pdf-> pages [pageNum])'應該可以工作,但未經過測試。刪除後,您必須對數組進行重新索引以使數組索引符合實際頁碼。首頁的索引是1。 –

回答

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做,包括確定頁面的方向。爲簡單起見,我還跳過了一些錯誤檢查。將它視爲一個模板來處理,而不是最終的代碼,因爲它最終只是一個快速的框架。