PHP TCPDF

Dans cette section, permettez-moi de  partager avec vous un exemple sur l’utilisation de la librairie TCPDF. D’ailleurs c’est quoi TCPDF ?.

TCPDF est une classe PHP, d’utilisation très répandue, permettant de générer des documents PDF. Elle est libre et open source.

Lien de téléchargement : http://www.tcpdf.org/

Après le téléchargement de la librairie,  vous pouvez la mettre dans votre serveur (dossier www), ensuite dé-zipper l’archive.

Comme vous remarquez, il y a deux fichiers php (home et first).

Cet exemple nous permet de créer un fichier pdf via un formulaire, c’est-à-dire nous avons un formulaire avec deux champs à saisir, ensuite après le submit du formulaire nous allons créer un fichier pdf avec ce qui a été saisit.

Nous commençons par le fichier home

<form action="first.php" method="post">
<div>
<label>Votre Nom</label>
<input type="text" name="nom" id="nom" />
</div>
<div>&nbsp; &nbsp; &nbsp;
<label>Votre Pays</label>
<input type="text" name="prenom" id="prenom" />
</div>
<input type="submit" value="Create PDF" />
</form>

Il s’agit d’un simple formulaire avec deux zones de textes et un bouton « create PDF »
Pour le deuxième fichier first.php

<?php
require_once('tcpdf/config/lang/eng.php');
require_once('tcpdf/tcpdf.php');

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Amine');
$pdf->SetTitle('TCPDF Example');
$pdf->SetSubject('EXEMPLE D\'UTILISATION');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');

// set default header data
//$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 061', PDF_HEADER_STRING);

// set header and footer fonts
//$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
//$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

//set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

//set some language-dependent strings
$pdf->setLanguageArray($l);
// set font
$pdf->SetFont('helvetica', '', 10);

// add a page
$pdf->AddPage();
// récupérer la valeur de la variable nom du formulaire.
$nom = $_POST["nom"];
$prenom = $_POST["prenom"];
$html = '
<h1>Informations</h1>
<div>
<label>Nom :</label> 
<label>'.$nom.'</label>
</div>
<div>
<label>Pays :</label> 
<label>'.$prenom.'</label>
</div>
';

// output the HTML content
$pdf->writeHTML($html, true, 0, true, 0);
// ---------------------------------------------------------

//Close and output PDF document
$pdf->Output('example.pdf', 'I');

//============================================================+
// END OF FILE
//==============================================
?>

Pour le deuxième fichier first.php

Dans un premier temps, on inclut les fichiers nécessaires pour pouvoir manipuler la classe TCPDF, ensuite on crée un objet de cette classe, par la suite on appelle les méthodes (les setters). comme SetTitle(), pour mettre des valeurs .

Après on récupère les valeurs des champs du formulaire via le POST, ensuite dans la variable $html, on met le code html qu’on veut afficher.

à la fin on appelle la méthode writeHTMl(), qui prend la variable $html.

Je pense que ce n’est pas difficile d’utiliser cette librairie. Sur la documentation nous avons des bons exemples. http://www.tcpdf.org/examples.php