PHP从现有pdf文件中删除页面

Jay*_*hri 2 php pdf fpdi tcpdf

使用 php 从本地 pdf 文件中删除一页(即最后一页)的最简单方法是什么?我有大约 100 个文件,每个文件都需要删除最后一页。最佳情况下,我想用仅短一页的同名文件替换该文件。

Br0*_*0wn 5

您可以使用FPDI

例子:

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();
Run Code Online (Sandbox Code Playgroud)

您可以使用数组大小​​轻松删除最后一页。

  • 使用此功能,输出的 PDF 尺寸可能会错误。为了确保正确的宽度和高度,请将“getTemplateSize”行替换为:“$size = $pdf-&gt;getTemplateSize($templateID);” 将“addPage”行替换为:“$pdf-&gt;addPage($size[ '方向'], [$size[0], $size[1]]);` (3认同)