Как вырезать лишние страницы в pdf файле средствами php?

Пользователь

от adrien.waters , в категории: PHP , 2 года назад

Как вырезать лишние страницы в pdf файле средствами php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от vicenta_kertzmann , 2 года назад

@adrien.waters 

Для вырезания лишних страниц в PDF файле с помощью PHP, можно использовать библиотеку FPDF.


Пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// подключение библиотеки FPDF
require('fpdf/fpdf.php');

// определение страниц, которые нужно оставить
$pages_to_keep = array(1, 3, 5); // в этом примере оставляем первую, третью и пятую страницы

// открытие исходного PDF файла
$pdf = new FPDF();
$pdf->Open();
$pdf->AddPage();

// загрузка всех страниц PDF файла
$pagecount = $pdf->setSourceFile('filename.pdf');
for ($i = 1; $i <= $pagecount; $i++) {
    // проверка, нужно ли оставить эту страницу
    if (in_array($i, $pages_to_keep)) {
        // добавление страницы в новый PDF файл
        $tplidx = $pdf->ImportPage($i);
        $pdf->AddPage();
        $pdf->useTemplate($tplidx);
    }
}

// сохранение нового PDF файла
$pdf->Output('newfilename.pdf', 'F');


В этом примере мы открываем исходный PDF файл, определяем страницы, которые нужно оставить, и создаем новый PDF файл, содержащий только эти страницы. Для этого мы загружаем все страницы исходного файла с помощью метода setSourceFile(), а затем проверяем каждую страницу, чтобы убедиться, нужно ли оставить ее. Если страница должна быть сохранена, мы добавляем ее в новый PDF файл с помощью метода ImportPage() и AddPage(). Наконец, мы сохраняем новый PDF файл с помощью метода Output().

Пользователь

от vladimir , 10 месяцев назад

@adrien.waters 

Для выполнения данной задачи вам потребуется установить библиотеку FPDF. Вот пример кода, который поможет вам вырезать лишние страницы в PDF файле средствами PHP с использованием библиотеки FPDI:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Подключаем библиотеки
require_once('fpdf/fpdf.php');
require_once('fpdi/fpdi.php');

// Определяем страницы, которые нужно оставить
$pages_to_keep = array(1, 3, 5); // В этом примере оставляем 1-ю, 3-ю и 5-ю страницы

// Создаем экземпляр FPDI
$pdf = new FPDI();

// Загружаем файл PDF
$pagecount = $pdf->setSourceFile('filename.pdf');

// Обрабатываем каждую страницу
for ($i = 1; $i <= $pagecount; $i++) {
    // Проверяем, нужно ли оставить эту страницу
    if (in_array($i, $pages_to_keep)) {
        $pdf->AddPage();

        // Импортируем страницу PDF в текущий документ
        $template = $pdf->importPage($i);
        $pdf->useTemplate($template);
    }
}

// Сохраняем новый PDF файл
$pdf->Output('newfilename.pdf', 'F');


В этом примере мы открываем исходный PDF файл, определяем страницы, которые нужно оставить, и создаем новый PDF файл, содержащий только эти страницы. Для этого мы загружаем все страницы исходного файла с помощью метода setSourceFile(), а затем проверяем каждую страницу, чтобы убедиться, нужно ли оставить ее. Если страница должна быть сохранена, мы добавляем ее в новый PDF файл с помощью метода AddPage() и импортируем содержимое страницы с помощью метода importPage(). Наконец, мы сохраняем новый PDF файл с помощью метода Output().