Imprimer

Stage Flavien Crochard Semaine 14

Récapitulatif de la classe CHtmlToPDF

Voici le schéma UML de cette classe :

Explication des attributs :

  • nbpages : correspond comme son nom l'indique au nombre de pages du document. Cet attribut est complété une fois le PDF généré.
  • dompdf : c'est l'instance de domPDF
  • display_elem : c'est un tableau de tableaux. Le premier sous-tableau contient les élements qui sont en display: inline. Le deuxième contient les éléments en display: block.
  • _font_size_look_up : c'est un tableau qui contient la correspondance entre l'attribut size de la balise font et la taille respective en points.

Pour les fonctions :

  • generatePDF : permet la génération d'un fichier PDF à partir d'une chaîne de caractères. Chaîne qui contient des balises valides xml. Les autres paramètres de cette fonction sont :
    • stream : un booléen qui s'il est mis à true stream le fichier pdf au client.
    • format : le format de la page (a3, a4, etc.).
    • orientation : portrait ou landscape (paysage).
    • path : le chemin vers le fichier pdf à écrire
  • cleanWord : fonction qui nettoye les balises extra insérées lors d'un copier provenant de Word
  • fixBlockElements : transforme une chaîne de caractères et appelle la fonction recursiveRemove.
  • recursiveRemove : permet de sortir les éléments blocks qui sont dans des éléments inline.

Modifications dans la gestion des plages de congés.

Correction de quelques bugs, notamment :

  • l'affichage de la taille des plages
  • la redirection du bouton modifier de la tooltip suivant l'emplacement de la page :
    • dans les préférence utilisateur, le bouton modifier refresh en ajax la partie permettant de modifier la plage.
    • dans le module dPpersonnel, ce même bouton redirige vers l'onglet Gestion des plages de congés.

Correction de bug dans domPDF

Lorsqu'un élément inline est imbriqué dans un élément de type block , par exemple :

<div style="width: 20px;"><font face="Verdana">Ceci est un exemple de texte</font></div>
Le texte contenu dans la balise font ne tient pas sur une ligne. Or dans domPDF, ce texte ne subissait pas de retour à la ligne. J'ai donc rajouté une section dans le fichier inline_positioner.cls.php afin de prendre en compte cette situation.


Dernièrement modifié par flavien4016 points  , Basé sur le travail de system .
Modifiée dernièrement le vendredi 07 de mai, 2010 10h16m17.

Sponsors privilégiés

Mediboard project