Projet

Général

Profil

Actions

Anomalie #1608

fermé

Edition PDF étiquettes et adresse comprenant plusieurs lignes

Ajouté par Alain Paris il y a plus de 2 ans. Mis à jour il y a 7 mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
Files generation
Version cible:
Début:
22/12/2021
Echéance:
% réalisé:

100%

Temps estimé:
Version utilisée:

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.


Fichiers

etiquettes (6).pdf (150 ko) etiquettes (6).pdf Alain Paris, 22/12/2021 11:07
etiquettes (11).pdf (150 ko) etiquettes (11).pdf Alain Paris, 04/01/2022 19:28
adresse courrier france.jpg (162 ko) adresse courrier france.jpg Adresse type la poste Alain Paris, 05/01/2022 15:24

Demandes liées 2 (0 ouverte2 fermées)

Lié à Galette - Anomalie #1625: Format des adresses et PUBLIPOSTAGERejeté08/02/2022

Actions
Lié à Galette - Anomalie #1638: PdfContributions - Champ adresseRejeté23/06/2022

Actions

Mis à jour par Alain Paris il y a plus de 2 ans

1 ou 2 symboles....

Mis à jour par Guillaume AGNIERAY il y a plus de 2 ans

  • Statut changé de Nouveau à In Progress

Pour corriger ce problème :

  1. supprimer source:galette/lib/Galette/IO/PdfMembersLabels.php#L167
  2. 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);

Mis à jour par Guillaume AGNIERAY il y a plus de 2 ans

  • Statut changé de In Progress à 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.

Mis à jour par Johan Cwiklinski il y a plus de 2 ans

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

Mis à jour par Alain Paris il y a plus de 2 ans

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.

Mis à jour par Guillaume AGNIERAY il y a plus de 2 ans

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.

Mis à jour par Guillaume AGNIERAY il y a plus de 2 ans

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.

Mis à jour par Alain Paris il y a plus de 2 ans

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.

Mis à jour par Alain Paris il y a plus de 2 ans

J’étais en train de chercher mes mots et tu as fais avancer le schmilblick

Mis à jour par Guillaume AGNIERAY il y a plus de 2 ans

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 ;)

Mis à jour par Alain Paris il y a plus de 2 ans

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.

Mis à jour par Guillaume AGNIERAY il y a plus de 2 ans

  • Statut changé de Commentaire à 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 :)

Mis à jour par Johan Cwiklinski il y a plus de 2 ans

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 ;)

Mis à jour par Guillaume AGNIERAY il y a plus de 2 ans

  • Statut changé de Résolu à 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 :)

Mis à jour par Guillaume AGNIERAY il y a plus de 2 ans

  • Statut changé de In Progress à Résolu
  • % réalisé changé de 0 à 100

Mis à jour par Guillaume AGNIERAY il y a environ 2 ans

Mis à jour par Guillaume AGNIERAY il y a presque 2 ans

Mis à jour par Johan Cwiklinski il y a 7 mois

  • Catégorie mis à Files generation
  • Statut changé de Résolu à Fermé
  • Assigné à mis à Guillaume AGNIERAY
  • Version cible mis à 1.0.0
Actions

Formats disponibles : Atom PDF