8 votes

Comment emballer par des mots dans une table de crevettes

Je voudrais créer un tableau de crevettes où le texte des cellules est entouré de mots et non de lettres. J'utilise déjà shrink_to_fit, mais il semble que prawn enveloppe le texte en fonction des lettres. Idéalement, je voudrais que le texte soit enveloppé uniquement par les mots (single_line n'est pas une option car il peut y avoir 2 ou 3 mots par cellule).

Quelqu'un sait-il comment faire ?

4voto

0x4a6f4672 Points 4986

Votre tableau contient peut-être des mots trop longs pour une seule cellule de tableau ? Pour autant que je sache, les cellules de tableau dans les tableaux Prawn utilisent des cadres de délimitation qui devraient envelopper le texte automatiquement. L'exemple suivant fonctionne bien pour moi :

Prawn::Document.generate 'example.pdf' do
  data = [['Pig','Oink '*10],
          ['Cow','Moo '*10],
          ['Duck','Quack '*10]]
  table data do |table|
    table.column_widths = [50,150]
  end
end

Si rien ne fonctionne, vous pouvez essayer de construire votre propre tableau avec plusieurs boîte de texte au lieu d'utiliser la fonction intégrée Méthode de la table à crevettes ce qui est bien sûr un peu lourd. text_box dessine le texte demandé dans une case. Le site :overflow Le paramètre contrôle le comportement lorsque la quantité de texte dépasse l'espace disponible. Les options disponibles sont les suivantes :truncate , :shrink_to_fit o :expand .

text_box(txt, :at => [x,y], :width => width, :height => height, :size => size,
              :overflow => :shrink_to_fit,..)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X