Imprimer

Stage Flavien Crochard Semaine 11

Avancement dans les bugs de dompdf

J'ai résolu un bug concernant les pagebreak (élement de style permettant de sauter ou non une page). Dans mediboard, les sauts de page dans FCKEditor sont définis par des éléments hr qui comme style : page-break-before: always. Si ces éléments sont imbriqués dans des span, dompdf n'arrivait pas à passer à une page suivante. J'ai pour cela modifié 1 fichier :

  • inline_frame_decorator.cls.php : rajout de la récursion du split dans le cas d'un +-pagebreak+-

J'ai remarqué qu'un grand nombre de compte-rendus sont édités sur Word puis sont copiés-collés dans FCKEditor. Le souci, c'est que le texte est accompagné d'un certain nombre de balises que dompdf n'accepte pas. Pour résoudre ce problème, il faut donc nettoyer ce code : une partie est faite avant dompdf, et une autre par une fonction que j'ai créée dans dompdf.

Plusieurs autres bugs en rapport avec le copier-coller de word :

  • avec les apostrophes et autres caractères spéciaux. Une solution a été proposée par une personne sur le site de dompdf, je l'ai donc appliquée.
  • le style comporte une section @page Section { bla: blabla; } . Selon la norme css, on peut donner un nom à une page, lui associer une mise en page et des éléments qui ne seront affichés que sur cette page. Vu que pour l'instant, dompdf ne gère que les documents dont les pages ont la même mise en page, j'exclue cette section pendant l'interprétation du style dans dompdf.

J'ai choisi un praticien, et j'ai parcouru tous les modèles afin de noter les bugs éventuels apparaissant. En voici quelques-un qui seront à corriger :

  • ol / ul / li : problème de retour à la ligne
  • imbrication de plusieurs balises fonts : prise en compte de la taille de la première des balises : <font size=3><font size=2><font size=1>aze</font></font></font> (3 comme taille)

Modifications esthétiques

Après un rapport sur l'avancement du projet avec Romain, plusieurs détails sont à modifier :

  • mettre en évidence le fait que la vignette d'un compte-rendu n'est plus à jour (quand on change n'importe quel champ du compte-rendu : le texte en lui-même, la mise en page, etc.), et ne proposer la réactualisation de cette vignette qu'à ce moment-là
  • au clic sur une vignette, afficher une popup contenant une version agrandie de la vignette
  • dans le mode édition de modèles, déplacement du bouton afficher / masquer les vignettes à côté du titre 'Mise en page'.
  • dans le module dPpatient? et dans l'onglet Consulter un dossier, rajouter la petite vignette du document si c'est un compte-rendu. Au clic sur cette vignette, afficher la popup qui contient un grand aperçu du PDF.

Au sujet des vignettes qui ne sont plus à jour : un changement de la marge de droite de 2 à 3 cm affiche ceci :

Un effet d'opacité est appliqué sur les vignettes. Un texte et un bouton sont affichés permettant de réactualiser les vignettes obsolètes.


Dernièrement modifié par flavien4016 points  , Basé sur le travail de system .
Modifiée dernièrement le jeudi 06 de mai, 2010 12h34m36.

Sponsors privilégiés

Mediboard project