Anomalie #1608
closedEdition PDF étiquettes et adresse comprenant plusieurs lignes
100%
Description
Bonjour,
La génération des étiquettes pour les personnes ayant plusieurs lignes dans leur adresse n'est pas correcte.
Toute les données sont sur 1 seule ligne avec 1 symboles ▯ entre les données.
Files
Updated by Alain Paris almost 3 years ago
- File etiquettes (6).pdf etiquettes (6).pdf added
1 ou 2 symboles....
Updated by Guillaume AGNIERAY almost 3 years ago
- Status changed from Nouveau to In Progress
Pour corriger ce problème :
- supprimer source:galette/lib/Galette/IO/PdfMembersLabels.php#L167
- remplacer source:galette/lib/Galette/IO/PdfMembersLabels.php#L177 par
$this->writeHTMLCell($this->lw, $this->line_h * 2, $x, $y + $this->line_h, nl2br($member->address), 0, 0, 0, true, 'L', true);
Updated by Guillaume AGNIERAY almost 3 years ago
- Status changed from In Progress to Commentaire
Je me demande également si il ne faudrait pas ajouter au passage une variable {ADDRESS_ADH_MUTLI}
pour afficher l'adresse avec les retours à la ligne dans les modèles PDF.
Updated by Johan Cwiklinski almost 3 years ago
Guillaume Agnieray a écrit (#note-3):
Je me demande également si il ne faudrait pas ajouter au passage une variable
{ADDRESS_ADH_MUTLI}
pour afficher l'adresse avec les retours à la ligne dans les modèles PDF.
Ça pourrait certainement être utile, oui
Updated by Alain Paris almost 3 years ago
- File etiquettes (11).pdf etiquettes (11).pdf added
Bonsoir,je viens d’essayer la modif.
Il y a je pense un hic au niveau de la taille des caractères ,comme si la réduction tenait compte de l’ensemble des lignes.
D’où une réduction de la taille des lignes de l'adresse parfois assez drastique.
Dans les versions antérieures de galette il y avait que 2 lignes d'adresse ,et sur les étiquettes de moins de 30mm de haut pas de problème,
maintenant il y a possibilité de mettre 3 lignes ou plus et alors attention risque de chevauchement avec le code postal 35 mm mini pour 3 lignes par exemple.
Updated by Guillaume AGNIERAY almost 3 years ago
Oui, cette simple modification ne traite que les retours à la ligne inhérents au nouveau champ d'adresse (2cd6ac) et considère que l'adresse ne fait pas plus de 2 lignes comme auparavant.
En l'état, la taille du texte de l'adresse dans sa cellule est toujours ajustée en fonction de la largeur occupée par l'adresse sans retours à la ligne pour ne pas qu'elle sorte du cadre de l'étiquette : source:galette/lib/Galette/IO/PdfMembersLabels.php#L169
Et chaque cellule a une position "prédéterminée" sur l'étiquette.
Ex : source:galette/lib/Galette/IO/PdfMembersLabels.php#L189
Je ne suis pas certain de la meilleure façon de procéder pour les adresses de 3 lignes et plus.
Updated by Guillaume AGNIERAY almost 3 years ago
Guillaume Agnieray a écrit (#note-6):
Je ne suis pas certain de la meilleure façon de procéder pour les adresses de 3 lignes et plus.
Après réflexion, je propose de simplifier les étiquettes :)
Actuellement, elles ne sont pas formatées "uniformément" (nom et ville en gras, pays aligné à droite).
Après une recherche rapide chez différents services postaux internationaux, il semble que ce ne soit pas la façon la mieux recommandée pour formater une adresse postale.
Communément, il faudrait "idéalement" que toutes les lignes soient alignées à gauche, tous les caractères de la même taille et avec le même style, et le même interligne partout.
En France, la poste accepte jusqu'à 6 lignes max (et recommande d'écrire en majuscules).
Cela supposerait de limiter le nombre de lignes dans le textarea du champ d'adresse.
Mais en même temps, je n'ai vu cette limite chez aucun autre service postal chez qui j'ai regardé.
Plus de 6 lignes, cela semble un cas "extrême" ; ça reste ajustable en adaptant le format des étiquettes et/ou la taille de la police.
Voici les modifs proposées : https://framagit.org/galette/galette/-/merge_requests/10/diffs
- plutôt que de disposer les lignes de l'adresse une à une dans des cellules indépendantes, on prépare l'adresse complète ligne par ligne dans un tableau
- on utilise ensuite la ligne la plus longue pour ajuster la taille de la police de l'adresse complète pour qu'elle ne dépasse pas la largeur de l'étiquette
- on affiche enfin l'adresse complète dans une seule cellule
- enfin on ajoute une variable pour les modèles
Avec les paramètres par défaut de Galette, cela permet d'imprimer des étiquettes jusqu'à 6 lignes sans dépasser la hauteur de l'étiquette (35mm).
Dans le cas d'une adresse avec une ligne (très) longue, celle-ci occupe alors toute la largeur de l'étiquette, et la taille de l'adresse complète est adaptée pour rester uniforme.
Updated by Alain Paris almost 3 years ago
Les lignes 169 et 189 sont un peu du charabia pour moi,je ne programme pas.
1 Peux t'on modifier facilement PDFMembersLabels.php pour fixer une taille des caractères des lignes adresse (que celle-ci ne soit pas dépendante de la longueur de l'adresse).
( Une variable avec la valeur en dur dans une ligne ).
2 Il faudra certainement pour la version future de galette (1 suggestion parmi d'autres):
Limiter la zone de texte adresse (nombre de ligne) dans la fiche adhérent.(en France la poste préconise maxi 6 lignes en tout avec nom et code postal)
Utilisation de 3 et plus de lignes dans l'adresse, déterminer la taille des caractères en fonction de l'espace vertical restant entre le nom et le code postal.
et enfin extraire les lignes de l'adresse séparément ,contrôler la longueur de chacune d'elle et régler la taille en fonction de la ligne la plus longue.
Updated by Alain Paris almost 3 years ago
J’étais en train de chercher mes mots et tu as fais avancer le schmilblick
Updated by Guillaume AGNIERAY almost 3 years ago
Alain Paris a écrit (#note-8):
Il faudra certainement pour la version future de galette (1 suggestion parmi d'autres):
Limiter la zone de texte adresse (nombre de ligne) dans la fiche adhérent.(en France la poste préconise maxi 6 lignes en tout avec nom et code postal)
Utilisation de 3 et plus de lignes dans l'adresse,
Limiter à 3 lignes max dans le textarea est faisable.
Mais personnellement je ne pense pas que ce soit indispensable avec la dernière modif proposée et les possibilités d'ajustement du format des étiquettes dans les préférences de Galette.
déterminer la taille des caractères en fonction de l'espace vertical restant entre le nom et le code postal.
Sauf erreur de ma part, je ne crois pas que ce soit possible :/
Au final ma nouvelle proposition résout ce problème autrement.
Alain Paris a écrit (#note-9):
J’étais en train de chercher mes mots et tu as fais avancer le schmilblick
J'ai l'impression que tu arrivais à la même conclusion que moi en suggérant au final d'extraire les lignes de l'adresse séparément :)
N'hésites pas à me faire part de tes tests avec la dernière solution proposée.
Pour ma part, je n'ai aucune adresse de plus de 5 lignes. Et je trouve le résultat plutôt satisfaisant pour mes cas d'utilisation ;)
Updated by Alain Paris almost 3 years ago
J'ai essayé avec les dernières modifs, moi cela me convient.
Pour l'histoire du nombre de ligne j'ai une base qui est adaptée aux 2 lignes (nom, adres1, adres2, code postal) donc 4 lignes,et 5 si la personne avait rentré le Pays.Cela tient sur des étiquettes de 29mm de haut avec une police de 12.
Sur la configuration d'origine de Galette soit étiquettes de 35mm et police 12 on peut avoir 6 lignes en tout.
Updated by Guillaume AGNIERAY almost 3 years ago
- Status changed from Commentaire to Résolu
Alain Paris a écrit (#note-11):
Sur la configuration d'origine de Galette soit étiquettes de 35mm et police 12 on peut avoir 6 lignes en tout.
Parfait. À moins que quelqu'un d'autre y voit une objection, je pense qu'on peut considérer cette anomalie comme résolue :)
Updated by Johan Cwiklinski almost 3 years ago
Guillaume Agnieray a écrit (#note-12):
Alain Paris a écrit (#note-11):
Sur la configuration d'origine de Galette soit étiquettes de 35mm et police 12 on peut avoir 6 lignes en tout.
Parfait. À moins que quelqu'un d'autre y voit une objection, je pense qu'on peut considérer cette anomalie comme résolue :)
Le statut passe généralement en résolu lorsque les commits sont intégrés au dépôt ;)
Updated by Guillaume AGNIERAY almost 3 years ago
- Status changed from Résolu to In Progress
Johan Cwiklinski a écrit (#note-13):
Le statut passe généralement en résolu lorsque les commits sont intégrés au dépôt ;)
OK. Laissons les commits agir :)
Updated by Guillaume AGNIERAY almost 3 years ago
- Status changed from In Progress to Résolu
- % Done changed from 0 to 100
Appliqué par commit 32e9c777fb75018a70f3f85e7911a8487cad1712.
Updated by Guillaume AGNIERAY over 2 years ago
- Related to Anomalie #1625: Format des adresses et PUBLIPOSTAGE added
Updated by Guillaume AGNIERAY over 2 years ago
- Related to Anomalie #1638: PdfContributions - Champ adresse added
Updated by Johan Cwiklinski about 1 year ago
- Category set to Files generation
- Status changed from Résolu to Fermé
- Assignee set to Guillaume AGNIERAY
- Target version set to 1.0.0