Редактирование существующей PDF-страницы с несколькими файлами с использованием FPDF и FPDI

Я – usinf FPDI, чтобы отредактировать существующий файл PDF, и его работа идеально подходит для одной страницы. Как можно видеть, я редактирую мой $tplIdx = $pdf->importPage(1); первая страница. У меня есть шестистраничный файл pdf и вам нужно добавить 2 переменные на другой странице.

Возможно ли это? Как?

  • Вставка изображения с PHP и FPDF
  • Проблема с перерывом страницы fpdf
  • Как наложить HTML сгенерированный PDF поверх существующего PDF?
  • Электронная почта PDF-приложение с PHP с использованием FPDF
  • Экспорт веб-страницы в PDF с помощью FPDF
  • Попробуйте показать pdf-файл с помощью PHP и fpdf
  •  <?php require_once('fpdf.php'); require_once('fpdi.php'); // initiate FPDI $pdf = new FPDI(); // add a page $pdf->AddPage(); // set the sourcefile $pdf->setSourceFile('ex.pdf'); // import page 1 $tplIdx = $pdf->importPage(1); // use the imported page and place it at point 10,10 with a width of 100 mm $pdf->useTemplate($tplIdx, 10, 10, 200); // now write some text above the imported page $pdf->SetFont('Arial'); $pdf->SetTextColor(255,0,0); $pdf->SetXY(50, 50); $pdf->Write(0, "Ajay Patel"); $pdf->Output('newpdf1.pdf', 'D'); ?> 

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

  • Электронная почта PDF-приложение с PHP с использованием FPDF
  • Ошибка FPDF: отсутствующий или неправильный файл изображения
  • Есть ли способ заставить FPDF / FPDI или Zend_Pdf поддерживать разбор PDF-файлов более чем на 1,4?
  • Вставка изображения с PHP и FPDF
  • Специальные символы в FPDF с PHP
  • php отправить электронную почту с вложением PDF
  • 3 Solutions collect form web for “Редактирование существующей PDF-страницы с несколькими файлами с использованием FPDF и FPDI”

    Трудно попробовать без установки FPDI. Но основная идея будет следующей, я верю:

     <?php require_once('fpdf.php'); require_once('fpdi.php'); // initiate FPDI $pdf = new FPDI(); /* <Virtual loop> */ $pdf->AddPage(); $pdf->setSourceFile('ex.pdf'); $tplIdx = $pdf->importPage(1); $pdf->useTemplate($tplIdx, 10, 10, 200); // now write some text above the imported page $pdf->SetFont('Arial'); $pdf->SetTextColor(255,0,0); $pdf->SetXY(50, 50); $pdf->Write(0, "Ajay Patel"); /* </Virtual loop/> */ $pdf->AddPage(); //$pdf->setSourceFile('ex.pdf'); $tplIdx = $pdf->importPage(2); $pdf->useTemplate($tplIdx, 10, 10, 200); // dynamic parameter based on your page $pdf->SetFont('Arial'); $pdf->SetTextColor(255,0,0); $pdf->SetXY(50, 50); $pdf->Write(0, "Ajay Patel2"); $pdf->Output('newpdf1.pdf', 'D'); ?> 

    Если это сработает, вы можете избавиться от второго блока кода и выйти из этого цикла (и динамического позиционирования).

    Спасибо @JA Ваша идея работает для меня

    Я просто написал ответ другим, чтобы помочь им

     <?php require_once('fpdf.php'); require_once('fpdi.php'); // initiate FPDI $pdf = new FPDI(); // add a page $pdf->AddPage(); // set the sourcefile $pdf->setSourceFile('newpdf.pdf'); // import page 1 $tplidx = $pdf->importPage(1); for ($i = 1; $i < 6; $i++) { $tplidx = $pdf->ImportPage($i); $pdf->useTemplate($tplidx, 10, 10, 200); $pdf->AddPage(); $pdf->SetFont('Arial'); $pdf->SetTextColor(0,0,0); $pdf->SetFontSize(8); if ($i==3) { $pdf->SetXY(50, 124); $pdf->Write(1, "Ajay Patel"); $pdf->SetXY(50, 133); $pdf->Write(1, date("d/m/Y")); } if ($i==4) { $pdf->SetXY(50, 171); $pdf->Write(1, "Ajay Patel"); $pdf->SetXY(50, 185); $pdf->Write(1, date("d/m/Y")); } } $pdf->Output('newpdf1.pdf', 'D'); ?> 

    Вы должны действительно использовать возвращаемое значение setSourceFile для перебора по всем страницам:

    Описание

    public int FPDI::setSourceFile ( string $filename )

    В зависимости от версии PDF-документа используемого документа версия PDF в результирующем документе будет скорректирована до более высокой версии.

    параметры

     $filename : string // A valid path to the PDF document from which pages should be imported from 

    Возвращаемые значения

    Количество страниц в документе

    PHP is the Best Programming Language in the world.