Расщепление PDF-файла в PHP, чтение и возврат результата - PullRequest
0 голосов
/ 30 июня 2019

Вот как должна работать система:

  1. Администратор загружает многостраничный файл PDF, в котором каждая страница содержит уникальный код для каждого пользователя.
  2. Система должна разбить файл на отдельные страницы.
  3. Пользователь входит в систему. Система получает его идентификатор в виде переменной (уникальный код, который существует в файле PDF).
  4. Система показывает каждому пользователю только те страницы, которые содержат их ID.

Я не спрашиваю никакого кода, просто название некоторых библиотек PDF, которые могут сделать именно то, что я ищу:)

Заранее спасибо.

1 Ответ

0 голосов
/ 30 июня 2019

Вы можете попробовать эту функцию, чтобы разделить все страницы из большего файла PDF на одностраничные файлы PDF.

Установка

composer require setasign/fpdi-fpdf

Код

use setasign\Fpdi\Fpdi;

/**
 * Split all of the pages from a larger PDF file into single-page PDF files.
 *
 * @param string $filename The filename of the PDF to split
 * @param string $directory The output directory for the new PDF files
 *
 * @return void
 */
function split_pdf(string $filename, string $directory)
{
    $pdf = new FPDI();
    $pageCount = $pdf->setSourceFile($filename);
    $file = pathinfo($filename, PATHINFO_FILENAME);

    // Split each page into a new PDF
    for ($i = 1; $i <= $pageCount; $i++) {
        $newPdf = new FPDI();
        $newPdf->AddPage();
        $newPdf->setSourceFile($filename);
        $newPdf->useTemplate($newPdf->importPage($i));

        $newFilename = sprintf('%s/%s_%s.pdf', $directory, $file, $i);
        $newPdf->Output($newFilename, 'F');
    }
}

Использование

split_pdf('test.pdf', 'split/');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...