TCPDF
Libreria PHP per la creazione e la modifica di documenti PDF
API PHP Open Source per generare documenti PDF, subaffitto di font, immagini JPEG o PNG e SVG Supporto nativo, supporto per codici a barre 1D e 2D.
Il TCPDF è una libreria PHP open source che offre agli sviluppatori di software la possibilità di generare documenti PDF utilizzando i comandi PHP senza dipendenze esterne. La cosa grandiosa di TCPDF è che è considerata l'unica libreria basata su PHP che include il supporto completo per Unicode UTF-8 e linguaggi da destra a sinistra.
La libreria supporta diverse funzioni importanti come la creazione di documenti PDF, il subaffitto dei caratteri, il supporto di immagini e grafica, il supporto nativo per le immagini JPEG, PNG e SVG, il supporto di codici a barre 1D e 2D, la gestione dell'intestazione e del piè di pagina delle pagine PDF, il supporto per la crittografia e la decrittografia, PDF annotazioni, sommario, modalità di rendering del testo, formati di pagina personalizzati, margini personalizzati, unità di pagina e molto altro.
La libreria è considerata una delle librerie PHP più popolari e utilizzate al mondo perché è stata inclusa nei CMS e nelle applicazioni PHP più popolari, inclusi Joomla, Drupal, Moodle, phpMyAdmin e così via.
Guida introduttiva a TCPDF
TCPDF è disponibile su packagist.org, quindi puoi utilizzare il compositore per scaricare questa libreria e tutte le dipendenze. Si prega di utilizzare il comando seguente per un'installazione senza problemi.
Installa il comando TCPDF
Install Package TCPDF
Genera documenti PDF utilizzando la libreria PHP
La libreria PHP gratuita TCPDF ha incluso la funzionalità che consente ai programmatori di software di creare in modo programmatico documenti PDF all'interno delle proprie applicazioni PHP. È possibile utilizzare la codifica utf-8 e il supporto per le lingue da destra a sinistra. Diverse funzioni importanti come la selezione del tipo e della dimensione del carattere, margini personalizzati, unità di misura, aggiunta di codici a barre, aggiunta di una tabella, inserimento di pagine, spostamento della pagina, eliminazione di pagine e molto altro.
Crea documenti PDF tramite 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');
Supporti codici a barre nei file PDF tramite PHP
La libreria PHP open source fornisce funzionalità per includere Barcode all'interno di documenti PDF utilizzando un paio di righe di codice PHP. Gli sviluppatori possono utilizzare facilmente diversi tipi di codici a barre 1D (CODE 39, CODE 128 AUTO, EAN 8, UPC-E, MSI, CODABAR, CODE 11, RMS4CC) e codici a barre 2D (QR-Code, Datamatrix ECC200 e PDF417). Fornisce inoltre supporto per funzionalità come l'impostazione dell'altezza del codice a barre, l'allineamento del codice a barre, l'impostazione dei margini, l'applicazione del checksum e altro.
Crea documenti PDF tramite 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();
Aggiungi intestazioni/piè di pagina personalizzati in PDF
Le intestazioni e i piè di pagina sono parti molto utili di un documento PDF che aiutano gli utenti a organizzare i propri file PDF e sono più facili da leggere. La libreria open source TCPDF semplifica il lavoro degli sviluppatori includendo funzionalità per l'aggiunta di intestazioni e piè di pagina personalizzati ai documenti PDF con solo un paio di righe di codice PP. Supporta funzionalità come l'impostazione di caratteri per intestazioni e piè di pagina, l'impostazione di margini, interruzioni di pagina automatiche, l'aggiunta di immagini all'interno dell'intestazione/piè di pagina, l'aggiunta di numeri di pagina e così via.
Imposta intestazioni/piè di pagina personalizzati in PDF tramite 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');
}
}
Crea un sommario
La libreria PHP open source TCPDF fornisce funzionalità per la creazione di un sommario all'interno delle proprie applicazioni. L'uso di un sommario aiuta i lettori a comprendere la struttura dei documenti e possono trovare rapidamente le informazioni che stanno cercando. Per creare un sommario devi aggiungere una nuova pagina per il sommario e puoi scrivere il titolo del sommario e/o altri elementi nella pagina del sommario. Puoi anche definire facilmente stili per vari livelli di segnalibro per vari elementi HTML.
Come aggiungere sommario in PDF tramite 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');
Gestisci le annotazioni PDF tramite la libreria PHP
Le annotazioni sono un insieme completo di oggetti che possono essere aggiunti alle pagine PDF senza alterare il contenuto della pagina. Aiuta ulteriormente nella spiegazione del suo contenuto o per espandere ciò che è già presente. La libreria PHP open source TCPDF fornisce supporto per una varietà di creazione di annotazioni come annotazioni di testo, annotazioni di collegamento, contrassegno di testo, annotazioni di timbri e così via.
Aggiungi annotazioni PDF di testo tramite 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');