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

Php从现有pdf文件中删除页面,php,pdf,tcpdf,fpdi,Php,Pdf,Tcpdf,Fpdi,使用php从本地pdf文件中删除一页(即最后一页)的最简单方法是什么?我有大约100个文件,每个文件都需要删除最后一页。最理想的情况是,我希望将该文件替换为一个名称相同、只短一页的文件。您可以使用 例如: pdf = new FPDI(); $pageCount = $pdf->setSourceFile('document.pdf'); // Array of pages to skip -- modify this to fit your needs $skipPages = [3

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

您可以使用

例如:

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();
pdf=new FPDI();
$pageCount=$pdf->setSourceFile('document.pdf');
//要跳过的页面数组--修改此数组以满足您的需要
$skipPages=[3,15,17,22];
//将源文件的所有页面添加到新文档
对于($pageNo=1;$pageNoimportPage($pageNo);
$pdf->getTemplateSize($templateID);
$pdf->addPage();
$pdf->useTemplate($templateID);
}
$pdf->Output();

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

使用此方法,输出的PDF维度可能错误。为确保宽度和高度正确,请将
getTemplateSize
行替换为:
$size=$PDF->getTemplateSize($templateID);
addPage
行替换为:
$PDF->addPage($size['orientation'],[$size[0],$size[1]];