TCPDF es una biblioteca PHP para generar documentos PDF. Es muy rico en características, pero no es fácil de usar.
Esta biblioteca se basa en la parte superior de la biblioteca TCPDF. En el estado actual, solo proporciona una API inteligente para crear tablas de manera cómoda .
Este repositorio se abandona y ya no debe usarse. Cambie de naitsirch/tcpdf-extension a la compatible stollr/tcpdf-extension .
La forma más fácil de usar esta biblioteca es instalarla a través del compositor.
Agregue esto al compositor de su proyecto.json:
{
"require" : {
"naitsirch/tcpdf-extension" : " dev-master "
}
}Primero debe crear una instancia 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 );Por favor, busque la documentación de la clase TCPDF si no está familiarizado con ella.
En el siguiente paso puede crear la tabla.
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!El código anterior muestra cómo crear una tabla muy simple. Pero puede personalizar las celdas de la tabla de diferentes maneras:
$ 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 ()Defina un color de fondo:
$ table
-> newRow ()
-> newCell ( ' Last Name ' )
-> setBackgroundColor ( ' #ff4400 ' ) // hexadecimal RGB color code
->setBackgroundColor( array ( 250 , 80 , 10 ) // decimal RGB color array
-> end ()
-> end ()Es posible definir una imagen de fondo para cada celda de tabla.
$ 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 ()