O TCPDF é uma biblioteca PHP para gerar documentos em PDF. É muito rico em recursos, mas não fácil de usar.
Esta biblioteca se baseia na parte superior da biblioteca TCPDF. No estado atual, ele fornece apenas uma API inteligente para criar tabelas de maneira confortável .
Este repositório é abandonado e não deve ser mais usado. Altere de naitsirch/tcpdf-extension para a stollr/tcpdf-extension .
A maneira mais fácil de usar esta biblioteca é instalá -la via compositor.
Adicione isso ao composer.json do seu projeto:
{
"require" : {
"naitsirch/tcpdf-extension" : " dev-master "
}
}Primeiro, você deve criar uma instância do 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, observe a documentação da classe TCPDF se você não estiver familiarizado com ela.
Na próxima etapa, você pode criar a tabela.
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!O código acima mostra como criar uma tabela muito simples. Mas você é capaz de personalizar as células da tabela de maneiras diferentes:
$ 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 uma cor de fundo:
$ table
-> newRow ()
-> newCell ( ' Last Name ' )
-> setBackgroundColor ( ' #ff4400 ' ) // hexadecimal RGB color code
->setBackgroundColor( array ( 250 , 80 , 10 ) // decimal RGB color array
-> end ()
-> end ()É possível definir uma imagem de fundo para cada célula de tabela.
$ 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 ()