TCPDF est une bibliothèque PHP pour générer des documents PDF. Il est très riche en fonctionnalités, mais pas facile à utiliser.
Cette bibliothèque se construit au-dessus de la bibliothèque TCPDF. À l'état actuel, il ne fournit qu'une API intelligente pour créer des tables de manière confortable .
Ce référentiel est abandonné et ne doit plus être utilisé. Veuillez passer de naitsirch/tcpdf-extension au compatible stollr/tcpdf-extension .
La façon la plus simple d'utiliser cette bibliothèque est de l'installer via Composer.
Ajoutez ceci à Composer.json de votre projet:
{
"require" : {
"naitsirch/tcpdf-extension" : " dev-master "
}
}Vous devez d'abord créer une instance de TCPDF.
use TCPDF ;
$ pdf = new TCPDF ( ' P ' , ' mm ' , ' A4 ' , true , ' UTF-8 ' , false );
$ pdf -> SetTitle ( ' My PDF file ' );
$ pdf -> SetMargins ( 20 , 20 , 20 );
$ pdf -> SetPrintHeader ( false );
$ pdf -> SetPrintFooter ( false );
$ pdf -> SetAutoPageBreak ( true , 9 );
$ pdf -> SetFont ( ' dejavusans ' , '' , 10 );Veuillez examiner la documentation de la classe TCPDF si vous ne le savez pas.
À l'étape suivante, vous pouvez créer le tableau.
use Tcpdf Extension Table Table ;
$ pdf -> AddPage (); // add a new page to the document
$ table = new Table ( $ pdf );
$ table
-> newRow ()
-> newCell ()
-> setText ( ' Last Name ' )
-> setFontWeight ( ' bold ' )
-> end ()
-> newCell ()
-> setText ( ' First Name ' )
-> setFontWeight ( ' bold ' )
-> end ()
-> newCell ()
-> setText ( ' DOB ' )
-> setFontWeight ( ' bold ' )
-> end ()
-> newCell ()
-> setText ( ' Email ' )
-> setFontWeight ( ' bold ' )
-> end ()
-> end ()
-> newRow ()
-> newCell ( ' Foo ' )-> end ()
-> newCell ( ' John ' )-> end ()
-> newCell ( ' 1956-04-14 ' )-> end ()
-> newCell ( ' [email protected] ' )-> end ()
-> end ()
;
$ table -> end (); // this prints the table to the PDF. Don't forget!Le code ci-dessus montre comment créer une table très simple. Mais vous pouvez personnaliser les cellules de table de différentes manières:
$ table
-> newRow ()
-> newCell ( ' Last Name ' ) // you can set the cell content like this
-> setText ( ' Override Text ' ) // or like this
-> setFontWeight ( ' bold ' ) // set font weight 'bold' or 'normal'
-> setAlign ( ' L ' ) // text alignment ('L', 'C', 'R' or 'J')
-> setVerticalAlign ( ' top ' ) // vertical alignment ('top', 'bottom' or 'middle')
-> setBorder ( 1 ) // border format (like in TCPDF::MultiCell)
-> setRowspan ( 1 ) // rowspan like in HTML
-> setColspan ( 2 ) // colspan like in HTML
-> setFontSize ( 10 ) // unit for font size is same as defined in TCPDF
-> setMinHeight ( 10 ) // defining min-height of the cell like in CSS
-> setPadding ( 2 , 4 ) // setting cell padding (inner margin) like in CSS
-> setPadding ( 2 , 4 , 5 , 6 ) // or like this
-> setWidth ( 125 ) // unit for width is same as defined in TCPDF
-> end ()Définissez une couleur d'arrière-plan:
$ table
-> newRow ()
-> newCell ( ' Last Name ' )
-> setBackgroundColor ( ' #ff4400 ' ) // hexadecimal RGB color code
->setBackgroundColor( array ( 250 , 80 , 10 ) // decimal RGB color array
-> end ()
-> end ()Il est possible de définir une image d'arrière-plan pour chaque cellule de table.
$ table
-> newRow ()
-> newCell ( ' Last Name ' )
-> setBackgroundDpi ( 300 ) // define the resolution for the printing
-> setBackgroundImage ( ' /path/to/my/image.png ' ) // pass the path to your image
-> setBackgroundImage ( $ binaryImageString ) // or pass the binary file content of your image
-> end ()
-> end ()