Effectivement le problème vient de la librairie TCPDF.
Mon module corrige cela (InfraSPackPlus).
Sinon il faut modifier le modèle PDF et avant la ligne $pdf->Open(); il faut ajouter :
Il y en a un peu moins mais encore trop entre le titre et la description.
C’est peut être la posy de la description qui laisse un espace avant le titre.
En tous cas un grand merci pour votre retour si rapide les gars.
C’est cool d’avoir une entraide communautaire de ce genre.
Quoi que non, puisque lorsqu’il n’y a pas de puces, la description est bien juste en dessous du titre.
C’est donc bien que avec la génération du PDF avec les puces.
Sur la description du produit, si j’essaie d’appliquer un style CSS, celui-ci disparait.
Et quand je modifie le fichier contents.css, ce n’est pas pris en compte, comme si il y avait un cache interne à Dolibarr.
Je ne pense pas que le CSS soit pris en compte au moment de générer le PDF. Je n’ai pas vérifié mais je pense que TCPDF va générer un document PDF en fonction des balises HTML sans tenir compte du CSS.
Sur les listes à puce, tu as 2 balises : ul pour débuter la liste à puces et li pour chaque puce. Le code donné par Sylvain paramètre 1 espace de valeur 0.0001 sur la balise ouvrante ul. Peut-être faudrait-il rajouter la même chose pour la balise li ?
Et si tu regardes le HTML de ton document avant d’en faire un PDF, tu n’as pas une autre balise HTML qui s’intercale avant le UL ? Un SPAN par exemple ? Ou autre chose ?
Si, en fait l’espace se place si la description est en HTML.
J’ai mis la description du produit du dessous en l’englobant dans une balise P et là un espace se rajoute (que je n’ai pas sans les balises HTML).
Je cherchais dans la fonction pdf_writelinedesc sans avoir vu qu’elle faisait appel à la fonction pdf_getlinedesc
Voici le résultat :
Bon alors je pense qu’il est nécessaire de rajouter un espace entre le titre et la description mais l’espace doit être divisé par deux par rapport ce qu’il était.
Je vais donc voir pour en rajouter un léger.
Le __N__ est un saut de ligne mais ensuite tu peux peut-être adapté un truc. Par exemple en ajoutant une balise puis en fixant la taille de l’espace de cette balise avec setHtmlVSpace par exemple
Yes, bien joué/trouvé
Je m’y attaque immédiatement
D’ailleurs il serai mieux je pense de réduire la taille de la description afin qu’elle prenne moins de place et soit moins visible par rapport au titre (priorité).
Je découvre un peu cette partie mais je trouve pas top que le titre et la description soit récupérée par pdf.lib.php car du coup à part modifier ce fichier, on n’a pas de solution pour personnaliser ça directement dans un modèle que l’on pourrait créé. Je trouverais plus souple de pouvoir paramétrer ces différents points directement dans le modèle PDF… A moins qu’il existe une solution que je n’ai pas rencontré…
Je suis d’accord avec toi.
A la prochaine mise à jour, hop, plus rien ou sinon faut tout recommencer.
Mais j’ai déjà eu le cas pour plusieurs choses (et pas que sur Dolibarr).
Sur l’import des CGV à la génération de document j’ai du supprimer la ligne du footer qui se créé depuis la fonction pdf_pagefoot en rajoutant un paramètre à l’appel de la fonction (donc sous condition)
Rajout d’espace insécable avant toutes doubles ponctuations.
Il est indispensable pour moi de mettre « ref : » avant la référence afin de savoir de quoi on parle…
Par contre je pense qu’il est obligé de généré la description du produit/service depuis pdf.lib, il y a plusieurs conditions et beaucoup de champ à aller chercher. Ca serai trop long sur les modèles. Et puis, si il doit y avoir un changement, tes modèles ne suivront plus.
Par contre, ce qu’il serai bien de faire, c’est de rajouter des paramètres supplémentaires à l’appel de la fonction depuis le modèle.