TCPDF
Biblioteca PHP para la creación y edición de documentos PDF
API PHP de código abierto para generar documentos PDF, subarrendamiento de fuentes, imágenes JPEG o PNG y SVG Soporte nativo, soporte de códigos de barras 1D y 2D.
TCPDF es una biblioteca PHP de código abierto que brinda a los desarrolladores de software la capacidad de generar documentos PDF utilizando comandos PHP sin dependencias externas. Lo mejor de TCPDF es que se considera la única biblioteca basada en PHP que incluye soporte completo para UTF-8 Unicode y lenguajes de derecha a izquierda.
La biblioteca admite varias funciones importantes, como la creación de documentos PDF, el subarrendamiento de fuentes, la compatibilidad con imágenes y gráficos, la compatibilidad nativa con imágenes JPEG, PNG y SVG, la compatibilidad con códigos de barras 1D y 2D, la administración de encabezados y pies de página en PDF, la compatibilidad con cifrado y descifrado, PDF anotaciones, tabla de contenido, modos de representación de texto, formatos de página personalizados, márgenes personalizados, unidades de página y mucho más.
La biblioteca se considera una de las bibliotecas PHP más populares y más utilizadas del mundo porque se ha incluido en los CMS y aplicaciones basados en PHP más populares, incluidos Joomla, Drupal, Moodle, phpMyAdmin, etc.
Primeros pasos con TCPDF
TCPDF está disponible en packagist.org, por lo que puede usar el compositor para descargar esta biblioteca y todas las dependencias. Utilice el siguiente comando para una instalación sin problemas.
Instalar comando TCPDF
Install Package TCPDF
Genere documentos PDF utilizando la biblioteca PHP
La biblioteca PHP gratuita TCPDF ha incluido la funcionalidad que permite a los programadores de software crear documentos PDF mediante programación dentro de sus propias aplicaciones PHP. Puede usar la codificación utf-8, así como la compatibilidad con los idiomas de derecha a izquierda. Varias características importantes como seleccionar el tipo y tamaño de fuente, márgenes personalizados, unidades de medida, agregar código de barras, agregar una tabla, insertar páginas, mover la página, eliminar páginas y mucho más.
Crear documentos PDF a través de PHP
// Include the main TCPDF library (search for installation path).
require_once('tcpdf_include.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->setCreator(PDF_CREATOR);
$pdf->setAuthor('Nicola Asuni');
$pdf->setTitle('TCPDF Example 038');
$pdf->setSubject('TCPDF Tutorial');
$pdf->setKeywords('TCPDF, PDF, example, test, guide');
Soporte de código de barras en archivos PDF a través de PHP
La biblioteca PHP de código abierto proporciona funcionalidad para incluir código de barras dentro de documentos PDF utilizando un par de líneas de código PHP. Los desarrolladores pueden usar diferentes tipos de código de barras 1D (CODE 39, CODE 128 AUTO, EAN 8, UPC-E, MSI, CODABAR, CODE 11, RMS4CC) y códigos de barras 2D (código QR, Datamatrix ECC200 y PDF417) con facilidad. También brinda soporte para funciones como configurar la altura del código de barras, la alineación del código de barras, establecer márgenes, aplicar suma de verificación y más.
Crear documentos PDF a través de PHP
$pdf->SetFont('helvetica', '', 10);
// define barcode style
$style = array(
'position' => '',
'align' => 'C',
'stretch' => false,
'fitwidth' => true,
'cellfitalign' => '',
'border' => true,
'hpadding' => 'auto',
'vpadding' => 'auto',
'fgcolor' => array(0,0,0),
'bgcolor' => false, //array(255,255,255),
'text' => true,
'font' => 'helvetica',
'fontsize' => 8,
'stretchtext' => 4
);
// PRINT VARIOUS 1D BARCODES
// CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.
$pdf->Cell(0, 0, 'CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9', 0, 1);
$pdf->write1DBarcode('CODE 39', 'C39', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();
// CODE 39 + CHECKSUM
$pdf->Cell(0, 0, 'CODE 39 + CHECKSUM', 0, 1);
$pdf->write1DBarcode('CODE 39 +', 'C39+', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();
// CODE 39 EXTENDED
$pdf->Cell(0, 0, 'CODE 39 EXTENDED', 0, 1);
$pdf->write1DBarcode('CODE 39 E', 'C39E', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();
Agregar encabezados/pies de página personalizados en PDF
Los encabezados y pies de página son partes muy útiles de un documento PDF que ayudan a los usuarios a organizar sus archivos PDF y facilitan su lectura. La biblioteca de código abierto TCPDF facilita el trabajo de los desarrolladores al incluir funciones para agregar encabezados y pies de página personalizados a documentos PDF con solo un par de líneas de código PP. Admite funciones como configurar fuentes para encabezados y pies de página, configurar márgenes, saltos de página automáticos, agregar imágenes dentro del encabezado/pie de página, agregar números de página, etc.
Establecer encabezados/pies de página personalizados en PDF a través de PHP
// Extend the TCPDF class to create custom Header and Footer
class MYPDF extends TCPDF {
//Page header
public function Header() {
// Logo
$image_file = K_PATH_IMAGES.'logo_example.jpg';
$this->Image($image_file, 10, 10, 15, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
// Set font
$this->SetFont('helvetica', 'B', 20);
// Title
$this->Cell(0, 15, '<< TCPDF Example 003 >>', 0, false, 'C', 0, '', 0, false, 'M', 'M');
}
// Page footer
public function Footer() {
// Position at 15 mm from bottom
$this->SetY(-15);
// Set font
$this->SetFont('helvetica', 'I', 8);
// Page number
$this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M');
}
}
Crear una tabla de contenido
La biblioteca PHP de código abierto TCPDF proporciona funcionalidad para crear una tabla de contenido dentro de sus aplicaciones. Los usos de una tabla de contenido ayudan a los lectores a comprender la estructura de los documentos y pueden encontrar rápidamente la información que buscan. Para crear una tabla de contenido, debe agregar una nueva página para TOC y puede escribir el título de TOC y/u otros elementos en la página de TOC. También puede definir estilos para varios niveles de marcadores para varios elementos HTML con facilidad.
Cómo agregar TOC en PDF a través de PHP
// add a new page for TOC
$pdf->addTOCPage();
// write the TOC title
$pdf->SetFont('times', 'B', 16);
$pdf->MultiCell(0, 0, 'Table Of Content', 0, 'C', 0, 1, '', '', true, 0);
$pdf->Ln();
$pdf->SetFont('dejavusans', '', 12);
// add a simple Table Of Content at first page
// (check the example n. 59 for the HTML version)
$pdf->addTOC(1, 'courier', '.', 'INDEX', 'B', array(128,0,0));
// end of TOC page
$pdf->endTOCPage();
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example.pdf', 'I');
Administre anotaciones en PDF a través de la biblioteca PHP
Las anotaciones son un conjunto completo de objetos que se pueden agregar a las páginas PDF sin alterar el contenido de la página. Además, ayuda en la explicación de su contenido o para ampliar lo que ya está presente. La biblioteca PHP de código abierto TCPDF proporciona soporte para una variedad de creación de anotaciones tales como anotaciones de texto, anotaciones de enlace, marcado de texto, anotaciones de sellos, etc.
Agregue anotaciones de texto en PDF a través de PHP
// set font
$pdf->SetFont('times', '', 16);
// add a page
$pdf->AddPage();
$txt = 'Example of Text Annotation.
Move your mouse over the yellow box or double click on it to display the annotation text.';
$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0);
// text annotation
$pdf->Annotation(83, 27, 10, 10, "Text annotation example\naccented letters test: àèéìòù", array('Subtype'=>'Text', 'Name' => 'Comment', 'T' => 'title example', 'Subj' => 'example', 'C' => array(255, 255, 0)));
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example.pdf', 'I');