Writing/Drawing over a PDF template document in PHP

PhpPdf

Php Problem Overview


I'd like to be able to write/overlay text over an existing pdf document using PHP. What I am hoping to do is have a pdf document that can act as a template, and fill in the gaps by opening the template doc, overlaying the relevant text, and serving the result as a new document. The template document is a single page so page merging/manipulation is not necessary.

Are there any free libraries that can do this? Anywhere I should look? Most searches I've done seem to deal with merging documents/adding pages, instead of overlaying content over an existing page.

Thanks.

*EDIT: Here is what I did:

  1. Download FPDF
  2. Download FPDI + FPDF_TPL from

http://www.setasign.de/products/pdf-php-solutions/fpdi/downloads/

Here is some sample code for any future wanderers (adapted from the samples at www.setasign.de):

<?php 
include('fpdf.php'); 
include('fpdi.php'); 
 
// initiate FPDI 
$pdf =& new FPDI(); 
// add a page 
$pdf->AddPage(); 
// set the sourcefile 
$pdf->setSourceFile('templatedoc.pdf'); 
// import page 1 
$tplIdx = $pdf->importPage(1); 
// use the imported page as the template 
$pdf->useTemplate($tplIdx, 0, 0); 
 
// now write some text above the imported page 
$pdf->SetFont('Arial'); 
$pdf->SetTextColor(255,0,0); 
$pdf->SetXY(25, 25); 
$pdf->Write(0, "This is just a simple text"); 
 
$pdf->Output('newpdf.pdf', 'D'); 
?>

Php Solutions


Solution 1 - Php

Have a look at the FPDI Library an add on to FPDF for template annotation.

It can also bolt-on to TCPDF, another popular PHP PDF library. An existing PDF is used as the base of a page, instead of a blank, after that the procedures are the same as regular PDF creation.

Solution 2 - Php

You probably want to use PDF Forms for what you want to do. To fill these babies you could use the FDF method described here: Using HTML forms to fill in PDF fields with PHP and FDF.
There is actually another nice SO post about PDF form filling here: Filling PDF Forms with PHP.

Solution 3 - Php

When you want to use PDF lib to write over a document, positionning is time consuming and boring. Dhek is useful for such task: https://github.com/cchantep/dhek/releases .

JSON mapping over PDF page/coordinates is defined, so that you can write with PDF API you prefer.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionfilip-fkuView Question on Stackoverflow
Solution 1 - PhpOrblingView Answer on Stackoverflow
Solution 2 - PhpDennis GView Answer on Stackoverflow
Solution 3 - PhpcchantepView Answer on Stackoverflow