Is there a way to fill PDF forms and then save (flatten) them to PDF files from within PHP? Which library would you recommend?
-
Looks like this has been covered before. Click through for relevant code using Zend Framework PDF library.
mno : Yes, I saw that response. However, I was wondering if there was some library specific for working with PDF forms, not just flat PDF documents.From pix0r -
We use PDFLib at work. The paid version isn't very expensive, and there is a more limited open source edition, if you are unable to shell out for the paid version.
From foxxtrot -
Try using HTMLDOC, there is a free/opensource version available
There is more info on how to create a pdf using HTMLDOC with PHP:
http://www.htmldoc.org/documentation.php/CallingHTMLDOCfromPHP.html
From Ciaran -
The libraries and frameworks mentioned here are good, but if all you want to do is fill in a form and flatten it, I recommend the command line tool called pdftk (PDF Toolkit).
See http://www.accesspdf.com/pdftk/
You can call the command line from php, and the command is
pdftk
formfile.pdffill_form
fieldinfo.fdfoutput
outputfile.pdfflatten
You will need to find the format of an FDF file in order to generate the info to fill in the fields. Here's a good link for that:
http://www.tgreer.com/fdfServe.html
[Edit: The above link seems to be out of commission. Here is some more info...]
The pdftk command can generate an FDF file from a PDF form file. You can then use the generated FDF file as a sample. The form fields are the portion of the FDF file that looks like
... << /T(f1-1) /V(text of field) >> << /T(f1-2) /V(text of another field) >> ...
--
bmbDamovisa : A late +1 for you, sir. Searched, found this, solved my problem.From bmb -
I've had plenty of success with using a form that submits to a php script that uses fpdf and passes in the form fields as get variables (maybe not a great best-practice, but it works).
<?php require('fpdf.php'); $pdf=new PDF(); $pdf->AddPage(); $pdf->SetY(30); $pdf->SetX(100); $pdf->MultiCell(10,4,$_POST['content'],0,'J'); $pdf->Output(); ?>
and the you could have something like this.
<form action="fooPDF.php" method="post"> <p>PDF CONTENT: <textarea name="content" ></textarea></p> <p><input type="submit" /></p> </form>
This skeletal example ought to help ya get started.
From Joshua Chavanne -
I wrote a Perl library, CAM::PDF, with a command-line interface that can solve this. I tried using an FDF solution years ago, but found it way too complicated which is why I wrote CAM::PDF in the first place. My library uses a few heuristics to replace the form with the desired text, so it's not perfect. But it works most of the time, and it's fast, free and quite straightforward to use.
From Chris Dolan -
We use phppdflib library.
From Zahar -
generating fdf File with php: see http://www.php.net/manual/en/book.fdf.php
then fill it into a pdf with pdftk (see above)
0 comments:
Post a Comment