tuto1.htm 5.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  5. <title>Exemple minimal</title>
  6. <link type="text/css" rel="stylesheet" href="../fpdf.css">
  7. </head>
  8. <body>
  9. <h1>Exemple minimal</h1>
  10. Voici pour commencer l'exemple classique :
  11. <div class="source">
  12. <pre><code>&lt;?php
  13. <span class="kw">require(</span><span class="str">'fpdf.php'</span><span class="kw">);
  14. </span>$pdf<span class="kw">=new </span>FPDF<span class="kw">();
  15. </span>$pdf<span class="kw">-&gt;</span>AddPage<span class="kw">();
  16. </span>$pdf<span class="kw">-&gt;</span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">,</span>16<span class="kw">);
  17. </span>$pdf<span class="kw">-&gt;</span>Cell<span class="kw">(</span>40<span class="kw">,</span>10<span class="kw">,</span><span class="str">'Hello World !'</span><span class="kw">);
  18. </span>$pdf<span class="kw">-&gt;</span>Output<span class="kw">();
  19. </span>?&gt;</code></pre>
  20. </div>
  21. <p class='demo'><a href='tuto1.php' target='_blank' class='demo'>[Démo]</a></p>
  22. Après avoir inclus la librairie, un object FPDF est créé.
  23. Le constructeur <a href='../doc/fpdf.htm'>FPDF()</a> est utilisé ici avec les valeurs par défaut : les pages sont en
  24. portrait A4 et l'unité de mesure est le millimètre. On aurait pu l'indiquer explicitement par :
  25. <div class="source">
  26. <pre><code>$pdf<span class="kw">=new </span>FPDF<span class="kw">(</span><span class="str">'P'</span><span class="kw">,</span><span class="str">'mm'</span><span class="kw">,</span><span class="str">'A4'</span><span class="kw">);
  27. </span></code></pre>
  28. </div>
  29. Il est possible de passer en paysage (<code>L</code>), d'utiliser d'autres formats de page (comme
  30. <code>A3</code> et <code>A5</code>) ainsi que d'autres unités de mesure (<code>pt</code>,
  31. <code>cm</code>, <code>in</code>).
  32. <br>
  33. <br>
  34. Il n'y a pour l'instant encore aucune page, c'est pourquoi il faut en ajouter une avec
  35. <a href='../doc/addpage.htm'>AddPage()</a>. L'origine est en haut à gauche et la position courante est placée par défaut
  36. à 1 cm des bords ; on peut changer ces marges par <a href='../doc/setmargins.htm'>SetMargins()</a>.
  37. <br>
  38. <br>
  39. Avant d'imprimer du texte, il est impératif de définir la police avec <a href='../doc/setfont.htm'>SetFont()</a>, sinon
  40. le document serait invalide. On choisit de l'Arial gras en taille 16 :
  41. <div class="source">
  42. <pre><code>$pdf<span class="kw">-&gt;</span>SetFont<span class="kw">(</span><span class="str">'Arial'</span><span class="kw">,</span><span class="str">'B'</span><span class="kw">,</span>16<span class="kw">);
  43. </span></code></pre>
  44. </div>
  45. On aurait pu spécifier de l'italique avec <code>I</code>, du souligné avec <code>U</code> ou une
  46. police normale avec une chaîne vide (ou bien encore une combinaison de styles). A noter que la
  47. taille de la police est ici donnée en points, pas en millimètres (ou autre unité choisie) ; c'est
  48. la seule exception. Les autres polices standard disponibles sont Times, Courier, Symbol et
  49. ZapfDingbats.
  50. <br>
  51. <br>
  52. On imprime ensuite une cellule grâce à <a href='../doc/cell.htm'>Cell()</a>. Une cellule est une zone rectangulaire,
  53. éventuellement encadrée, qui contient une ligne de texte. Elle est imprimée à la position
  54. courante. On spécifie ses dimensions, le texte (centré ou aligné), si des bords doivent être
  55. tracés, et si la position courante doit être déplacée à droite, en dessous ou bien doit
  56. retourner au début de la ligne suivante. On aurait par exemple encadré le texte comme ceci :
  57. <div class="source">
  58. <pre><code>$pdf<span class="kw">-&gt;</span>Cell<span class="kw">(</span>40<span class="kw">,</span>10<span class="kw">,</span><span class="str">'Hello World !'</span><span class="kw">,</span>1<span class="kw">);
  59. </span></code></pre>
  60. </div>
  61. Si on veut ajouter une nouvelle cellule à droite avec du texte centré et retourner à la ligne,
  62. on fait :
  63. <div class="source">
  64. <pre><code>$pdf<span class="kw">-&gt;</span>Cell<span class="kw">(</span>60<span class="kw">,</span>10<span class="kw">,</span><span class="str">'Powered by FPDF.'</span><span class="kw">,</span>0<span class="kw">,</span>1<span class="kw">,</span><span class="str">'C'</span><span class="kw">);
  65. </span></code></pre>
  66. </div>
  67. Remarque : le retour à la ligne peut également s'effectuer grâce à la méthode <a href='../doc/ln.htm'>Ln()</a>. Cette
  68. dernière permet de préciser en plus la hauteur du saut de ligne.
  69. <br>
  70. <br>
  71. Enfin, le document est terminé et envoyé au navigateur grâce à <a href='../doc/output.htm'>Output()</a>. On aurait pu
  72. le sauvegarder directement dans un fichier en passant le nom souhaité.
  73. <br>
  74. <br>
  75. <strong>Attention :</strong> dans le cas où le PDF est envoyé au navigateur, le script ne doit
  76. rien envoyer d'autre, ni avant ni après (pas d'HTML, même pas un espace ni un retour-chariot).
  77. Si vous envoyez quelque chose avant, vous obtiendrez le message : "Some data has already been
  78. output, can't send PDF file". Si vous envoyez quelque chose après, il se peut que le document
  79. ne s'affiche pas.
  80. </body>
  81. </html>