
Ça fait déjà quelques personnes qui me posent la question: Comment faire un PDF en PHP de façon dynamique? Pour les plus courageux qui ont beaucoup de temps devant eux, je dirais que FPDF fait le travail. Mais puisque je n’ai généralement pas le temps de placer chaque élément 1 par 1 et que je suis beaucoup plus doué en HTML qu’en code FDPF, je vous suggère plutôt TCPDF (qui utilise de toute facon FPDF).
Écriture de PDF en HTML avec la fonction writeHTML
Comme je vous disais, je maitrise beaucoup mieux la rédaction de code HTML que le placement d’éléments 1 à 1. Ce qui est merveilleux, c’est que c’est possible de mettre en page des PDF avec la syntaxe html grâce à la fonction writeHTML de TCPDF.
Exemple:
$htmlcontent = "
";
$htmlcontent .= "
$nom
";
$htmlcontent .= "
$date
";
$htmlcontent .= "
$courriel
";
$htmlcontent .= "
";
$htmlcontent .= "
";
// Écrire
$pdf->writeHTML($htmlcontent, true, 0, true, 0);
Documentation de la fonction writeHTML
Concaténation (merge) de plusieurs documents
Une autre fonction très pratique de cette librairie (combinée à FPDI) est la fonction de concaténation ou merge de plusieurs documents PDF. Ça permet entre autres de joindre à un document PDF statique un document PDF dynamique. Donc pour générer par exemple un contrat, où les coordonnées du clients seraient sur une page et les conditions du contrat seraient sur une autre page, c’est l’idéal.
Exemple:
$pdf =& new concat_pdf();
$pdf->setFiles(array($couverture, $coord, $clauses, $revers));
$pdf->concat();
$pdf->Output("../output/contrat_".$noContrat.".pdf", "F");
Documentation de la fonction concat
Beaucoup d’autres fonctions sont disponibles, vous n’avez qu’à visiter le site du projet la documentation est très claire. En espérant avoir pu vous aider à faire avancer votre projet!
Merci pour ce cue; je me suis déjà servi de FPDF une fois et même si ça s’utilise bien c’est quand même un *** de chiore, comme tu dis, de positionner les éléments un par un !
Sympa cette fonction