Я хотел бы удалить некоторые страницы из своего PDF-файла, созданного с помощью библиотеки fpdf,
$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
Есть ли функция удаления страницы. Я не знаком с FPDF.
Я хотел бы удалить некоторые страницы из своего PDF-файла, созданного с помощью библиотеки fpdf,
$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
Есть ли функция удаления страницы. Я не знаком с FPDF.
Вы хотите использовать 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, в том числе определение ориентации страницы. Я также пропустил некоторые проверки ошибок для простоты. Рассматривайте это как шаблон для работы, а не как окончательный код, потому что в конечном итоге это просто быстрый скелет.
unset($pdf->pages[pageNum])
должен работать, хотя и не проверялся. После удаления вы должны переиндексировать массив, чтобы индексы массива соответствовали реальным номерам страниц. Индекс первой страницы равен 1. - person Timo Kähkönen   schedule 30.06.2016