Archive for the ‘Zend-Framework-PDF-Table-Helper’ Category
Here is the example of how to user ZendFramework PDF-Table-Helper.
One of the prerequisites is that you mast have the zf_autoloader on and configured since I am relaying on it to auto load files.
first you have to in instantiate the class:
$pdf = new SirShurf_Pdf_TableSet ();
You can instantiate it with a Zend_PDF object and without it, in which case it will be created for you, but if you are instantating with Zend_PDF you have to tell the system on what page you are working (Default is page 0).
Now what you need it to initialise a Table you are going to work with:
$objTableRow = $table->addRow ();
Each table can have his own number of columns and settings.
Each table can have a different number of rows a row can be added using this method:
And as with HTML a row has a number of cells (or columns):
$objTableRow->addCol ( $strCourseId, array (
'bold' => false, 'colspan' => 1, 'align' => 'center'
$objTableRow->addCol ( Labadmin_Models_Static::convertHebrew ( $this->view->translate ( 'LBL_GRADE_FORM_COURSE_ID' ) ), array (
'bold' => false, 'colspan' => 1, 'align' => 'center', 'font' => 'arial.ttf', 'fontBold' => 'arialbd.ttf'
The Cell can have each own definitions as the example here shows, and you can iterate over the data to create it.
And finally you can call render(); in order to render the changes to PDF, or build(‘fileName’) to save the finale PDF to a file.
$pdf->build ( $strGradeFileLocation . $intTimeStamp . ".grade.pdf" );
I had to create a PDF with a tables in a Zend Framework project I am making.
I have searched the web and have not found any library that can be used for this from the box, but I have found on GitHub a start of the library I was needed:
Unfortunately the library was incomplete and not maintained, so I contacted the owner and he gave me the permission to take the code and do what I like with it.
So here is my version (working one) of the library that can create tables in PDF using Zend Framework PDF library.
I will write a working example soon and post it here and on GitHub.