Tableau XSL/FO PDF

Tableau XSL/FO PDF - XML/XSL - Programmation

Marsh Posté le 05-08-2004 à 10:11:48    

Salut
Je veux créer un tableau en pdf avec xslfo/xml. Le problème est que mes têtes de colonne ont des noms longs (plusieurs mots) et que je ne sais pas faire autrement que donner la largeur de colonne. Les tetes de colonne sont alors sur plusieurs lignes (un mot par ligne), cela est gérer automatiquement dans la génération du pdf mais le résultat est lais car un mot peut dépasser de la case ... :??:  
Pour la génération de html, il y a pas de problèmes, on donne le nombre de colonne et il se debrouille pour la largeur des colonnes ...
J'aimerais savoir s'il est possible de ne pas spécifier la largeur des colonnes pour le pdf et qu'il l'a calcul en fonction de la largeur du mot tout seul ... ou s'il y a un autre moyen ..
merci

Reply

Marsh Posté le 05-08-2004 à 10:11:48   

Reply

Marsh Posté le 13-08-2004 à 14:14:54    

Tu utilises quel logiciel pour faire ton PDF ? FOP ?
De mon côté, je n'ai rien trouvé d'autre que de fixer en dur les largeurs de colonnes.

Reply

Marsh Posté le 13-08-2004 à 15:42:13    

Avant je codais les largueurs en durs aussi :non:, mais il est possible de faire du proportionnel comme ceci:  

Code :
  1. <fo:table width="100%" table-layout="fixed" border-collapse="separate" border-top-color="black" border-top-width="0.5pt" border-top-style="solid">
  2. <fo:table-column column-width="proportional-column-width(2)" />
  3. <fo:table-column column-width="proportional-column-width(1)" />
  4. <fo:table-column column-width="proportional-column-width(2)" />
  5. <fo:table-body>
  6. <fo:table-row>
  7. <fo:table-cell>
  8. <fo:block font-family="Helvetica" font-size="8pt" text-align="start">partapp.pdf</fo:block>
  9. </fo:table-cell>
  10. <fo:table-cell>
  11. <fo:block font-family="Helvetica" font-size="8pt" text-align="center">- <fo:page-number /> -</fo:block>
  12. </fo:table-cell>
  13. <fo:table-cell>
  14. <fo:block font-family="Helvetica" font-size="8pt" text-align="end">29 avril 2004</fo:block>
  15. </fo:table-cell>
  16. </fo:table-row>
  17. </fo:table-body>
  18. </fo:table>


 
Dans ce cas la première colonne sera 2 fois plus large que celle du milieu, idem pour la dernière... si vous mettez 1 partout le rendu sera fait comme en HTML il me semble.
 


Message édité par avander le 13-08-2004 à 15:44:37
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed