PHP код для чтения и удаления страницы из pdf файла

У меня есть система, которая генерирует файлы PDF, каждый файл состоит из двух страниц. По какой-то причине мне нужно написать код PHP, который может удалить вторую страницу из каждого файла PDF. Вот что я сделал и каковы были результаты:

1- Я использовал библиотеку TCPDF для написания следующего кода:

require_once('TCPDF-master/examples/tcpdf_include.php');
require_once('TCPDF-master/tcpdf_import.php');

$pdf = new TCPDF_IMPORT( 'test.pdf' );
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
    require_once(dirname(__FILE__).'/lang/eng.php');
    $pdf->setLanguageArray($l);
}
$pdf->deletePage(2);
$pdf->Output('test_output.pdf', 'I');

Результат: пустой одностраничный файл PDF. Другими словами, содержимое из исходного файла не было доступно в новом файле

2- Я использовал библиотеки FPDF и FPDI для чтения только одной страницы из исходного файла.

require_once('FPDF-master/fpdf.php');
require_once('FPDI-1.6.1/fpdi.php');

$pdf = new FPDI();

$pageCount = $pdf->setSourceFile('test.pdf');
$tplIdx = $pdf->importPage(1, '/MediaBox');

$pdf->addPage();
$pdf->useTemplate($tplIdx, 10, 10, 90);

$pdf->Output();

Результатом является это сообщение об ошибке:

Неопределенное исключение "Исключение" с сообщением "Этот документ (test.pdf), вероятно, использует метод сжатия, который не поддерживается бесплатным анализатором, поставляемым с FPDI. (См. https://www.setasign.com/fpdi-pdf-parser для более подробной информации)'в C:\wamp\www\FPDI-1.6.1\pdf_parser.php в строке 322

Кто-нибудь знает, как помочь, пожалуйста?

1 ответ

Я бы попробовал использовать такой инструмент, как pdftk. Вы можете вызвать его из PHP, если хотите. Командная строка ниже, чтобы извлечь страницу.

pdftk in.pdf cat 1 output out.pdf
Другие вопросы по тегам