Blog : Edit Existing PDF multiple page File using FPDF & PDFI

Edit Existing PDF multiple page File using FPDF & PDFI


I am usinf FPDI to edit my existing pdf file and its work perfect for single page. As ou can see i am editing my $tplIdx = $pdf->importPage(1); first page. I have six page pdf file and need to add 2 variable in different page.

Is is possible ? How?

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');
?>
It's hard to try without FPDI installed. But the core idea would be following I believe:


  require_once('fpdf.php');
  require_once('fpdi.php');

  // initiate FPDI
  $pdf = new FPDI();

  /* */
  $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");

  /*
*/

  $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');
?>

 just posted answer for other to help them

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');
?>