Export PDF champ à plusieurs lignes

Bonjour,

Dans mon document, j’ai un champ de type « Texte » servant à recueillir des préconisations. Celles-ci sont mises en forme avec des passages à la ligne.

Quand j’affiche le pdf, toutes les indications se retrouvent les unes dernière les autres et ne sont pas facilement lisibles.

Resultat affiché

Dans mon code html, j’ai essayé de jouer avec la valeur « display » mais sans succès. J’ai même tenté le « Textarea » mais qui n’est pas pratique car il ne s’adapte pas à la longueur du texte (ou alors je n’ai pas réussi à le configurer).

Auriez-vous une solution?

bonjour,

je ne comprends pas bien votre demande, entre champ texte, HTM et affichage en pdf. Avez-vous un fichier exemple à partager ?

Je me suis mal exprimé, pardon.
J’ai une table avec plusieurs colonnes de type texte. Dans ces colonnes sont stockées des phrases avec parfois plusieurs lignes par cellule.
J’ai suivi le tuto post" par Audezu Générer des PDF personnalisés / Publipostage / Widget Markdown
afin de pouvoir exporter une fiche au format PDF mettant en forme ces données.
Mais toutes les phrases d’une cellule (ce que j’ai appelé « champ ») se retrouvent les unes derrière les autres, alors que je souhaiterai qu’elles soient l’une en-dessous de l’autre, comme ce qui est visible dans les colonnes de la table.

Voilà la table (simplifiée pour plus de clartée): dans l’exemple créé sur cette table, je souhaiterai que la cellule « Indications » puisse être exportée dans le PDF telle qu’elle apparaît dans la vue « Fiche ».

Pôle Ressource.grist (184 Ko)

J’espère avoir été plus clair et merci pour votre aide.

corrige ta formule en convertissant les retours à la ligne ne

import datetime
class Find_Data(dict):
  def __missing__(self, key):
    attr = getattr(rec, key)
    if attr is None:
      return "--"
    if isinstance(attr, datetime.date):
      return attr.strftime('%d-%m-%Y')
    if isinstance(attr, str) and key == "Indications":
      return attr.replace("\r\n", "\n").replace("\n", "<br>")
    return attr
template = Template_Retour_Saisine.lookupOne().Modele
return template.format_map(Find_Data())

1 « J'aime »

Merci beaucoup! C’est génial!
Je n’aurai pas penser à aller vers la formule pour régler cette problématique.
Si je comprends bien le code ajouté, je peux reprendre et ajouter un autre « if isinstance… » en changeant la valeur de « key » si j’ai d’autres cellules qui doivent s’afficher de la même manière?

1 « J'aime »