SeamFramework.orgCommunity Documentation

Chapitre 18. Génération iText PDF

18.1. Utilisation du support PDF
18.1.1. La création d'un document
18.1.2. Les éléments d textes basiques
18.1.3. Entêtes et pieds de page
18.1.4. Les chapitres et les sections
18.1.5. Les listes
18.1.6. Les tableaux
18.1.7. Les constantes du document
18.2. Diagrammes
18.3. Les codes Bar.
18.4. Remplissage de formulaires
18.5. Le rendu des composants Swing/AWT
18.6. La configuration de iText
18.7. Pour plus de documentation

Seam inclus maintenant un groupe de composant pour la génération de documents en utilisant iText. le premier but du support de document iText de Seam est pour la génération de documents PDF, mais Seam offre aussi un support basique pour la génération de document RTF.

Le support de iText est fournie par jboss-seam-pdf.jar. Ce JAR contient les contrôles iText JSF, qui sont utilisés pour construire les vues qui peuvent être rendues vers le PDF et le composant DocumentStore qui servent pour rendre les documents à l'utilisateur. Pour inclure le support PDF dans votre application, il faut inclurejboss-seam-pdf.jar dans votre dossier WEB-INF/lib avec le fichier iText JAR. Il n'y a pas plus comme configuration nécéssaire pour le support de iText de Seam.

Le module de Seam iText requière l'utilisation de Facelets comme technologie d'affichage. Les versions futures de la bibliothèque pourrons aussi supporter l'utilisation de JSP. En plus, il faut utiliser le paquet seam-ui.

Le projet examples/itext contient un exemple du support de PDF en action. Il démontre comment est fait le déploiement propre des paquets et il contient de nombreux exemples qui montre les fonctionnalités clef de la génération de PDF actuellement supportées.

<p:document>

Description

Les documents sont générés par les documents facelets en utilisant les tags dans l'espace de nom http://jboss.com/products/seam/pdf. Les documents devraient toujours avoir le tag document comme racine du document. Le tag document prépare Seam pour générer un document dans le DocumentStore et à le rendre en HTML en redirigeant le contenu stocké.

Attribues

  • type — Le type de document qui doit être produit. Les valeurs valides sont les modes PDF, RTF et HTML . Seam prends par défaut une génération PDF et beaucoup de fonctionnalités ne fonctionnent correctement qu'en génération des documents PDF.

  • pageSize — La taille de page à générer. Les valeurs utilisées de manière classiques devraient être LETTER et A4. Une pleine liste de tailles de pages supportées peut être trouvée dans la classe com.lowagie.text.PageSize. Autrement, pageSize peut fournir une largeur et une hauteur de page directement. La valeur "612 792", par exemple, est équivalent à une taille de page de type LETTER.

  • orientation — L'orientation de la page. Les valeurs valides sont portrait et landscape. En mode paysage, la les valeurs de largeur et la hauteur de la page sont inversées.

  • margins — Les valeurs de marges haute, basse , droite et gauche.

  • marginMirroring — Indique si les valeurs des marges doivent être inversées sur la page suivante.

  • disposition — Avec la génération de PDF dans un navigateur web ceci détermine le Content-Disposition HTTP du docment. Les valeurs valides sont inline, qui indique que le document devrait ête affiché dans la fenêtre du navigateur si c'est possible, et attachment, qui indique le document devrait être traité comme téléchargeable. La valeur par défaut est inline.

  • fileName — Pour les pièces jointes, cette valeur surcharge le nom du fichier téléchargé.

Metadata Attributes

  • title

  • subject

  • keywords

  • author

  • creator

Usage


<p:document xmlns:p="http://jboss.com/products/seam/pdf"
>                                                      
  The document goes here.                                                                                             
</p:document
>

Les documents courrants ont besoin de contenir bien plus que seulement du texte; cependant, les composants UI standards sont prévue pour la génération HTML et pas très utile pour la génération de contenu PDF. Ainis, Seam fourni des composants UI spéciaux pour la génération de parfait contenu PDF. Les balises comme <p:image> et <p:paragraph> sont les fondations de bases de simples documents. Les balises comme <p:font> fournissent des informations sur le style de tous les contenues autour d'elles.

<p:paragraph>

Description

La plus part des textes doivent pouvoir être divisés en paragraphes donc les fragments de texte peuvent être enchainnées, formatés et disposant d'un style en groupes logiques.

Attribues

  • firstLineIndent

  • extraParagraphSpace

  • leading

  • multipliedLeading

  • spacingBefore — Un espace doit être inséré avant l'élément.

  • spacingAfter — Un espace doit être inséré après l'élément.

  • indentationLeft

  • indentationRight

  • keepTogether

Usage


<p:paragraph alignment="justify">
    This is a simple document.  It isn't very fancy.
</p:paragraph
>

<p:text>

Description

La balise text permet aux fragments de textes d'être produit depuis des donnnées de l'application en utilisant les méchanisme de conversation JSF classique. De manière similaire à la balise outputText utilisé pour rendre les documents en HTML.

Attribues

  • value — La valeur a affiché. Ceci sera typiquement une expression liée à une valeur.

Usage


<p:paragraph>
    The item costs <p:text value="#{product.price}">
        <f:convertNumber type="currency" currencySymbol="$"/>
    </p:text>
</p:paragraph
>

<p:html>

Description

La balise html rends le contenu Html en PDF.

Attribues

  • value — Le texte à afficher.

Usage



<p:html value="This is HTML with <b
>some markup</b
>." />
<p:html>
    <h1
>This is more complex HTML</h1>
    <ul>
        <li
>one</li>
        <li
>two</li>
        <li
>three</li>
    </ul>
</p:html>

<p:html>
    <s:formattedText value="*This* is |Seam Text| as HTML.  It's very^cool^." />
</p:html
>                                    

<p:font>

Description

La balise de police de la police par défauit à utiliser pour tous les textes qu'elle englobe.

Attribues

  • name — Le nom de la police, par exemple: COURIER, HELVETICA, TIMES-ROMAN, SYMBOL ou ZAPFDINGBATS.

  • size — La taille en point de la police.

  • style — Le style de la police. Toute combinaison de : NORMAL, BOLD, ITALIC, OBLIQUE, UNDERLINE, LINE-THROUGH

  • color — La couleur de la police. (voir Section 18.1.7.1, « Les valeurs des couleurs » pour les valeurs des couleurs)

  • encoding — Le groupe d'encodage de caractères.

Usage


<p:font name="courier" style="bold" size="24">
    <p:paragraph
>My Title</p:paragraph>
</p:font
>

<p:textcolumn>

Description

p:textcolumn inserts a text column that can be used to control the flow of text. The most common case is to support right to left direction fonts.

Attribues

  • left — The left bounds of the text column

  • right — The right bounds of the text column

  • direction — The run direction of the text in the column: RTL, LTR, NO-BIDI, DEFAULT

Usage



<p:textcolumn left="400" right="600" direction="rtl"
> 
    <p:font name="/Library/Fonts/Arial Unicode.ttf" 
            encoding="Identity-H" 
            embedded="true"
>#{phrases.arabic}</p:font
> 
</p:textcolumn
>

<p:newPage>

Description

p:newPage insère un saut de page.

Usage


<p:newPage />

<p:image>

Description

p:image insère une image dans le document. Les images peuvent être chargées depuis le classpath ou depuis le contexte de l'applicationw web en utilisant l'attribut value.

Les resources peuvent aussi être générée dynamiquement par le code de l'application. L'attribut imageData peut spécifier une expression en liaison avec une valeur cette valeur est un objet java.awt.Image.

Attribues

  • value — Un nom de ressource ou une relation avec une expression d'une méthode pour l'imagé générée de l'application.

  • rotation — La rotation de l'image en degrée.

  • height — La hauteur de l'image .

  • width — La largeur de l'image.

  • alignment— L'alignement de l'image (voir Section 18.1.7.2, « Les valeurs des aignments » pour les valeurs possibles)

  • alt — Texte alternatif pour la représentation de l'image.

  • indentationLeft

  • indentationRight

  • spacingBefore — Un espace doit être inséré avant l'élément.

  • spacingAfter — Un espace doit être inséré après l'élément.

  • widthPercentage

  • initialRotation

  • dpi

  • scalePercent — La facteur de mise à l'échelle (en pourcentage) à utiliser pour l'image. Ceci peut être exprimée comme un seul pourcentage ou par deux valeurs représentant des pourcentages différents sur l'échelle de x et de y.

  • scaleToFit — Indique la taille en X et la taille Y sera calculé pour mettre à l'échelle l'image. L'image sera mise à l'échelle pour faire correspondre à ces dimnesions de manière aussi proche que possible pour préserver le ratio XY de l'image.

  • wrap

  • underlying

Usage


<p:image value="/jboss.jpg" />

<p:image value="#{images.chart}" />

<p:anchor>

Description

p:anchor défini des liens cliquables pour un document. Il supporte les attributs suivants:

Attribues

  • name — Le nom du point d'ancrage dans le document de destination.

  • reference — La destination du lien référé par. Les liens vers des autres points dans le document devraient commencer par un "#". Par exemple, "#link1" pour indiquer une position d'ancrage avec un name à link1. Les liens peuvent aussi avoir un URL complète pour indiquer une ressource à l'extérieure du document.

Usage


<p:listItem
><p:anchor reference="#reason1"
>Reason 1</p:anchor
></p:listItem
> 
...
<p:paragraph>
    <p:anchor name="reason1"
>It's the quickest way to get "rich"</p:anchor
> 
    ... 
</p:paragraph
>

<p:header>

<p:footer>

Description

Les composants p:header et p:footer fournissent la capacité de placer des textes en entêtes et en pieds de pages sur chaque page du document généré. Les déclarations d'entêtes et de pieds de pages devrait apparaitrent au début du document.

Attribues

  • alignment — L'alignement de la section de la boite d'entête ou de pied de page. (voir Section 18.1.7.2, « Les valeurs des aignments » pour les valeurs d'alignements)

  • backgroundColor — La couleur d'arrière plan de la boite d'entête ou de pied de page. (voir Section 18.1.7.1, « Les valeurs des couleurs » pour les valeurs des couleurs)

  • borderColor — La couleur de la bordure de la boit d'entête oude pied de page. Les traits de bordures peuvent être définis individuellement en utilisant borderColorLeft, borderColorRight, borderColorTop et borderColorBottom.(voir Section 18.1.7.1, « Les valeurs des couleurs » pour les valeurs des couleurs)

  • borderWidth — La largeur de la bordure. Les traits de bordures peuvent être définie individuellement en utilisant borderWidthLeft, borderWidthRight, borderWidthTop et borderWidthBottom.

Usage


<f:facet name="header">
  <p:font size="12">
    <p:footer borderWidthTop="1" borderColorTop="blue" 
              borderWidthBottom="0" alignment="center">
        Why Seam? [<p:pageNumber />]
    </p:footer>
  </p:font>
</f:facet
>

<p:pageNumber>

Description

Le numéro de page courrant peut être placé dans l'entête ou le pied de page en utilisant la balise p:pageNumber. La balise de numéro de page peut seulement être utilisé dans le contexte d'une entête ou d'un pied de page et ne peut être utilisé qu'une fois.

Usage


<p:footer borderWidthTop="1" borderColorTop="blue" 
          borderWidthBottom="0" alignment="center">
    Why Seam? [<p:pageNumber />]
</p:footer>

<p:chapter>

<p:section>

Description

Si le document généré suit la structure d'un livre ou d'un article, les balises p:chapter et p:section peuvent être utilisés pour fournir la structure nécéssaire. Les sections peuvent seulement être utilisé dans des chapitres mais peuvent être englobé de manière arbitraire quelquesoit la profondeur de leur encapsulation. La plus part des visualisateurs de PDF fournissent une navigation facilitée entre les chapitres et les sections dans un document.

Note

You cannot include a chapter into another chapter, this can be done only with section(s).

Attribues

  • alignment — L'alignement de la section de la boite d'entête ou de pied de page. (voir Section 18.1.7.2, « Les valeurs des aignments » pour les valeurs d'alignements)

  • number — The chapter/section number. Every chapter/section should be assigned a number.

  • numberDepth — The depth of numbering for chapter/section. All sections are numbered relative to their surrounding chapter/sections. The fourth section of the first section of chapter three would be section 3.1.4, if displayed at the default number depth of three. To omit the chapter number, a number depth of 2 should be used. In that case, the section number would be displayed as 1.4.

    Note

    Chapter(s) can have a number or without it by setting numberDepth to 0.

Usage


<p:document xmlns:p="http://jboss.com/products/seam/pdf"
            title="Hello">

   <p:chapter number="1">
      <p:title
><p:paragraph
>Hello</p:paragraph
></p:title>
      <p:paragraph
>Hello #{user.name}!</p:paragraph>
   </p:chapter>

   <p:chapter number="2">
      <p:title
><p:paragraph
>Goodbye</p:paragraph
></p:title>
      <p:paragraph
>Goodbye #{user.name}.</p:paragraph>
   </p:chapter>

</p:document
> 

<p:header>

Description

Tout chapitre ou section devrait contenur un p:title. Le titre sera affiché à côté du numéro de chapitre ou de section. Le corps du titre peut contenir un texte but ou peut être un p:paragraph.

Les structures de listes peuvent être affiché en utilisant les balises p:list et p:listItem. Les listes peuvent contenir des sous-listes englobées arbitrairement. Les éléments de la liste ne devraient pas être utilisés à l'extérieur de la liste. Le document suivant utilise la balise ui:repeat pour afficher une liste des valeurs extraites depuis un composant de Seam.


<p:document xmlns:p="http://jboss.com/products/seam/pdf"
            xmlns:ui="http://java.sun.com/jsf/facelets"
            title="Hello">
   <p:list style="numbered">
      <ui:repeat value="#{documents}" var="doc">
         <p:listItem
>#{doc.name}</p:listItem>
      </ui:repeat>
   </p:list>
</p:document
>

<p:list>

Attribues

  • style — Les styles de listes de type ordonnées/numérotées. Une parmis: NUMBERED, LETTERED, GREEK, ROMAN, ZAPFDINGBATS, ZAPFDINGBATS_NUMBER. Si aucun style n'est données, les éléments de la listes sont précédés d'un rond.

  • listSymbol — Pour les listes avec symboles, indique le type de symbole.

  • indent — Le niveau d'indentation de la liste.

  • lowerCase — Pour les styles de listes utilisant les lettres, indique si les lettres doivent être en minuscules.

  • charNumber — Pour le style ZAPFDINGBATS, indique si le code du caractères précédant l'élément de la liste.

  • numberType — Pour le style ZAPFDINGBATS_NUMBER, indique le style de numérotation.

Usage


<p:list style="numbered">
  <ui:repeat value="#{documents}" var="doc">
    <p:listItem
>#{doc.name}</p:listItem>
  </ui:repeat>
</p:list
>

<p:listItem>

Description

p:listItem dispose des attributs suivant:

Attribues

Usage


...

Les structures d'un tableau peuvent être créés en uutilisant les balises p:table et p:cell. A l'inverse de beaucoup de structures de tableaux, il n'y a pas de déclaration explicite de ligne. Si un tableau a 3 colonnes, alors chacune des trois cellules devront automatiquement former une ligne. Les lignes d'entêtes et de pieds de pages peuvent être déclarées et seront répétées dans le cas ou la structure du tableau s'étallerait sur plusieurs pages.

<p:table>

Description

p:table dispose des attributs suivants.

Attribues

  • columns — Le nombre de colonnes (cellules) qui font une ligne de tableau.

  • widths — La largeur relative de chaque colonne. Il faudrait une valeur pour chacune des colonnes. Par exemple: widths="2 1 1" devrait indiquer qu'il y a 3 colonnes, et que la première colonne devrait être deux fois plus grande que la seconde et la troisième.

  • headerRows — Le nombre initial de ligne qui seront considérés comme des lignes d'entêtes ou des bas de tableau et devrait être répétés si le tableau s'étalle sur plusieurs pages.

  • footerRows — Le nombre de ligne qui sont à considérées comme des lignes de bas de tableaux. Cette valeur est soustraite de la valeurheaderRows. Si le document a 2 lignes qui constituent un entête et une ligne qui constitut le bas du tableau, headerRows devrait être défini à 3 et footerRows devrait être définie à 1

  • widthPercentage — Le pourcentage de la largeur de page que le tableau occupe.

  • horizontalAlignment — L'alignement horizontal du tableau. (Voir Section 18.1.7.2, « Les valeurs des aignments » pour les valeurs possibles)

  • skipFirstHeader

  • runDirection

  • lockedWidth

  • splitRows

  • spacingBefore — Un espace doit être inséré avant l'élément.

  • spacingAfter — Un espace doit être inséré après l'élément.

  • extendLastRow

  • headersInEvent

  • splitLate

  • keepTogether

Usage


<p:table columns="3" headerRows="1">
  <p:cell
>name</p:cell>
  <p:cell
>owner</p:cell>
  <p:cell
>size</p:cell>
  <ui:repeat value="#{documents}" var="doc">
    <p:cell
>#{doc.name}</p:cell>
    <p:cell
>#{doc.user.name}</p:cell>
    <p:cell
>#{doc.size}</p:cell>
  </ui:repeat>
</p:table
>

<p:cell>

Description

p:cell dispose des attributs suivants.

Attribues

  • colspan — Les cellules peuvent s'étendre sur plus d'une colonne en déclarant un colspan suppérieur à 1. Les tableaux ne n'ont pas la possibilité de s'étendre sur plusieurs lignes.

  • horizontalAlignment — L'alignement horizontal de la cellule. (voir Section 18.1.7.2, « Les valeurs des aignments » pour les valeurs possibles)

  • verticalAlignment — L'alignement vertical de la cellule. (voir Section 18.1.7.2, « Les valeurs des aignments » pour les valeurs possibles)

  • padding — L'encadrement d'un côté donné peut être spécifiés en utilisant paddingLeft, paddingRight, paddingTop et paddingBottom.

  • useBorderPadding

  • leading

  • multipliedLeading

  • indent

  • verticalAlignment

  • extraParagraphSpace

  • fixedHeight

  • noWrap

  • minimumHeight

  • followingIndent

  • rightIndent

  • spaceCharRatio

  • runDirection

  • arabicOptions

  • useAscender

  • grayFill

  • rotation

Usage


<p:cell
>...</p:cell
>

Le support des diagrammes est aussi fourni avec jboss-seam-pdf.jar. Les diagrammes peuvent être utilisé dans des documents PDF pi peuvent être utilisés comme des images dans une page HTML. Faire des diagrammes nécéssite que la bibliothèque JFreeChart (jfreechart.jar etjcommon.jar) soit ajouté au dossier WEB-INF/lib. Quatres types de diagrammes sont actuellement diponibles: diagramme en camenbert, diagramme en baton et diagramme avec des courbes. Avec beaucoup de variantes ou de controles selon les besoin, il est possible de contruire des diagrammes en utilisant du code Java.

<p:chart>

Description

L'affichage d'une diagramme créé en Java par un composant de Seam.

Attribues

  • chart — L'objet diagramme à afficher.

  • height — La hauteur du diagramme.

  • width — La largeur du diagramme.

Usage


<p:chart chart="#{mycomponent.chart}" width="500" height="500" />
         

<p:barchart>

Description

L'affichage d'une diagramme en baton.

Attribues

  • chart — L'objet diagramme à afficher, si la création du diagramme via la programmation est utilisée.

  • dataset — Le groupe de données à afficher, si le groupe de données via la programmation est utilisé.

  • borderVisible — Controle si oui ou non la bordure doit être affichée autour de tout le diagramme.

  • borderPaint — La couleur de la bordure, si elle est visible;

  • borderBackgroundPaint — La couleur d'arrière plan par défaut du diagramme.

  • borderStroke

  • domainAxisLabel — Le label du texte pour l'axe du domaine.

  • domainLabelPosition — L'angle pour les labels de categorie de l'axe du domaine. les valeurs valident sont STANDARD, UP_45, UP_90, DOWN_45 et DOWN_90. Autrement, la valeur peut être une valeur dangle postive ou négative en radians.

  • domainAxisPaint — La couleur du label de l'axe du domaine.

  • domainGridlinesVisible— Les contrôles que les lignes d'arrière plan pour les axes du domaines soient visibles ou non dans le diagramme.

  • domainGridlinePaint— La couleur des lignes d'arrière plan, si visible.

  • domainGridlineStroke — Le style de ligne pour les lignes d'arrière plan du domaine, si visible.

  • height — La hauteur du diagramme.

  • width — La largeur du diagramme.

  • is3D — Une valeur booléenne indiquant qe le diagramme devrait être rendu en 3D au lieu d'être en 2D.

  • legend — Une valeur booléenne indiquant s'il faut ou non que le diagramme doit inclure une legende.

  • legendItemPaint— La couleur par défaut pour les labels de texte dans la légende.

  • legendItemBackgoundPaint— La couleur d'arrière plan pour la légende, si différente de la couleur d'arrière plan du diagramme.

  • legendOutlinePaint— La couleur de la bordure autour de la légende.

  • orientation — L'orientation du point , soit vertical (par défaut) ou horizontal.

  • plotBackgroundPaint— La couleur de l'arrière plan du point.

  • plotBackgroundAlpha— Le niveau alpha (transparence) de l'arrière plan du point. Il devrait être entre 0 (complètement transparant) et 1 (complètement opaque).

  • plotForegroundAlpha— Le niveau alpha (transparence) du point. Il devrait être entre 0 (complètement transparant) et 1 (complètement opaque).

  • plotOutlinePaint— La couleur du dégradé des lignes de grilles d'arrière plan, si visible.

  • plotOutlineStroke — Le style de trait pour le dégradé des lignes de grilles d'arrière plan, si visible.

  • rangeAxisLabel — Le label du texte de l'axe vertical .

  • rangeAxisPaint — La couleur du label de l'axe vertical.

  • rangeGridlinesVisible— Controle si les lignes de grilles darrière plan sont visibles ou non dans le diagramme.

  • rangeGridlinePaint— La couleur des lignes de grille d'arrière plan verticales, si visibles.

  • rangeGridlineStroke — La style de lignes pour les lignes d'arrières plan verticales, si visible.

  • title — Le texte du titre du diagramme.

  • titlePaint— La couleur du texte du titre du diagramme.

  • titleBackgroundPaint— La couleur d'arrière plan autour du titre du diagramme.

  • width — La largeur du diagramme.

Usage


<p:barchart title="Bar Chart" legend="true"
            width="500" height="500">
    <p:series key="Last Year">
        <p:data columnKey="Joe" value="100" />
        <p:data columnKey="Bob" value="120" />
    </p:series
>        <p:series key="This Year">
        <p:data columnKey="Joe" value="125" />
        <p:data columnKey="Bob" value="115" />
    </p:series>
</p:barchart
>

<p:linechart>

Description

Affichage d'une diagramme avec des courbes.

Attribues

  • chart — L'objet diagramme à afficher, si la création du diagramme via la programmation est utilisée.

  • dataset — Le groupe de données à afficher, si le groupe de données via la programmation est utilisé.

  • borderVisible — Controle si oui ou non la bordure doit être affichée autour de tout le diagramme.

  • borderPaint — La couleur de la bordure, si elle est visible;

  • borderBackgroundPaint — La couleur d'arrière plan par défaut du diagramme.

  • borderStroke

  • domainAxisLabel — Le label du texte pour l'axe du domaine.

  • domainLabelPosition — L'angle pour les labels de categorie de l'axe du domaine. les valeurs valident sont STANDARD, UP_45, UP_90, DOWN_45 et DOWN_90. Autrement, la valeur peut être une valeur dangle postive ou négative en radians.

  • domainAxisPaint — La couleur du label de l'axe du domaine.

  • domainGridlinesVisible— Les contrôles que les lignes d'arrière plan pour les axes du domaines soient visibles ou non dans le diagramme.

  • domainGridlinePaint— La couleur des lignes d'arrière plan, si visible.

  • domainGridlineStroke — Le style de ligne pour les lignes d'arrière plan du domaine, si visible.

  • height — La hauteur du diagramme.

  • width — La largeur du diagramme.

  • is3D — Une valeur booléenne indiquant qe le diagramme devrait être rendu en 3D au lieu d'être en 2D.

  • legend — Une valeur booléenne indiquant s'il faut ou non que le diagramme doit inclure une legende.

  • legendItemPaint — La couleur par défaut pour les labels de texte dans la légende.

  • legendItemBackgoundPaint — La couleur d'arrière plan pour la légende, si différent de la couleur d'arrière plan du diagramme.

  • legendOutlinePaint — La couleur de la bordure autour de la légende.

  • orientation — L'orientation du point , soit vertical (par défaut) ou horizontal.

  • plotBackgroundPaint — La couleur de l'arrière plan du point.

  • plotBackgroundAlpha — Le niveau alpha (transparence) pour l'arrière plan du point. Il devrait être un nombre entre 0 (complètement transparant) et 1 (complètement opaque).

  • plotForegroundAlpha — Le niveau alpha (transparent) du point. Il devrait être un nombre entre 0 (complètement transparant) et 1 (complètement opaque).

  • plotOutlinePaint — La couleur des lignes de grilles d'arrièreplans verticales, si visible.

  • plotOutlineStroke — Le style de trait pour le dégradé des lignes de grilles d'arrière plan, si visible.

  • rangeAxisLabel — Le label du texte de l'axe vertical .

  • rangeAxisPaint — La couleur du label de l'axe vertical.

  • rangeGridlinesVisible — Controle si les lignes d'arrière plans pour l'axe vertical doivent être visibles sur le diagramme.

  • rangeGridlinePaint — La couleur des lignes d'arrière plan, si visible.

  • rangeGridlineStroke — La style de lignes pour les lignes d'arrières plan verticales, si visible.

  • title — Le texte du titre du diagramme.

  • titlePaint — La couleur du texte du titre du diagramme.

  • titleBackgroundPaint — La couleur d'arrière plan aaout du titre du diagramme.

  • width — La largeur du diagramme.

Usage


<p:linechart title="Line Chart"
            width="500" height="500">
    <p:series key="Prices">
        <p:data columnKey="2003" value="7.36" />
        <p:data columnKey="2004" value="11.50" />
        <p:data columnKey="2005" value="34.625" />
        <p:data columnKey="2006" value="76.30" />
        <p:data columnKey="2007" value="85.05" />
    </p:series>
</p:linechart
>

<p:piechart>

Description

Affichage d'un diagramme en cammenbert.

Attribues

  • title — Le texte du titre du diagramme.

  • chart — L'objet diagramme à afficher, si la création du diagramme via la programmation est utilisée.

  • dataset — Le groupe de données à afficher, si le groupe de données via la programmation est utilisé.

  • label — Le texte du label par défaut pour les sections de camembert.

  • legend — Une valeur booléenne indiquant si le diagramme devrait inclure une legende ou pas. Par défaut la valeur est à vrai.

  • is3D —Une valeur booléenne indiquant que le diagramme devrait êtrere rendue en 3D au lieu d'en 2D.

  • labelLinkMargin — La marge de lien pour les labels.

  • labelLinkPaint — La couleur utilisé pour les lignes de liens des labels.

  • labelLinkStroke — le type de bordure utilisé pour les lignes liant les labels.

  • labelLinksVisible — Un drapeau qui controle si les liens vers les labels sont déssinés.

  • labelOutlinePaint — La couleur utilisé pour déssiner les bordure des labels de sections.

  • labelOutlineStroke — Le type de bordure utilisé pour dessiner les bordures des labels des sections.

  • labelShadowPaint — La couleur utilisée pour dessiner l'ombrée sur les labels des sections.

  • labelPaint — La couleur utilisé pour dessiner les labels des sections.

  • labelGap — La distance entre les labels et les points comme un pourcentage de la largeur du point.

  • labelBackgroundPaint — La couleur utilisée pour dessiner l'arrière plan des labels de sections. Si null, l'arrière plan n'est pas rempli.

  • startAngle — L'angle de départ de la première section.

  • circular — Une valeur boolléenne indicant que le diagramme devrait être dessiné comme un cercle. Si faux, le driagramme est déssiné comme une elipse. Par défaut à vrai.

  • direction — La direction dont la section du camembert est dessinée. Soit: clockwise ou anticlockwise. Par défaut a clockwise.

  • sectionOutlinePaint — La couleur de bordure pour toutes les sections.

  • sectionOutlineStroke — Le type de bordure pour toutes les sections

  • sectionOutlinesVisible — Indique si une bordure est dessinée pour chaque section du point.

  • baseSectionOutlinePaint — La bordure de la section de base à dessiner.

  • baseSectionPaint — Le dessin de la section de base.

  • baseSectionOutlineStroke — Le style de trait pour la bordure extérieure .

Usage


<p:piechart title="Pie Chart" circular="false" direction="anticlockwise" 
    startAngle="30" labelGap="0.1" labelLinkPaint="red"
>        
    <p:series key="Prices"
> 
        <p:data key="2003" columnKey="2003" value="7.36" /> 
        <p:data key="2004" columnKey="2004" value="11.50" /> 
        <p:data key="2005" columnKey="2005" value="34.625" /> 
        <p:data key="2006" columnKey="2006" value="76.30" /> 
        <p:data key="2007" columnKey="2007" value="85.05" /> 
    </p:series
> 
</p:piechart
>

<p:series>

Description

Les données de catégories peuvent être divisées en séries. La balise de la série est utilisée pour catégoriser un groupe de données et lui appliquer un style sur toute la série.

Attribues

  • key — Le nom de la série.

  • seriesPaint — La couleur de chaque élément de la série

  • seriesOutlinePaint — La couleur pour chaque élément de la série.

  • seriesOutlineStroke — Le style de bordure à utiliser pour chaque élément de la série.

  • seriesVisible — Un booléen indiquant si la série doit ête affichée.

  • seriesVisibleInLegend — Un booléen indiquant si la serie doit être listé dans la légende.

Usage


<p:series key="data1">
    <ui:repeat value="#{data.pieData1}" var="item">
        <p:data columnKey="#{item.name}" value="#{item.value}" />
    </ui:repeat>
</p:series
>

<p:data>

Description

La balise data décrit chaque point à afficher pour le graphe.

Attribues

  • key — Le nom d'élément donnée.

  • series — Le nom de la série, quand elle n'est pas embarquée dans un <p:series>.

  • value — La donnée en valeur numéique.

  • explodedPercent — Pour les diagramme en camembert, indique comme éclater les parts du camembert.

  • sectionOutlinePaint — Pour les diagrammes en baton, la couleur de la bordure de la section.

  • sectionOutlineStroke — Pour les diagrammes en baton, le type de bordure pour la section.

  • sectionPaint — Pour les diagramme en baton, la couleur de la section.

Usage


<p:data key="foo" value="20" sectionPaint="#111111" 
        explodedPercent=".2" />
<p:data key="bar" value="30" sectionPaint="#333333" />
<p:data key="baz" value="40" sectionPaint="#555555" 
        sectionOutlineStroke="my-dot-style" />

<p:color>

Description

Le composant couleur déclare une couleur ou un dégradé qui peut être utilisé quand on dessine des formes géométriques pleines.

Attribues

  • color — La valeur de la couleur. Pour un dégradé, ceci ets la couleur de départ. Section 18.1.7.1, « Les valeurs des couleurs »

  • color2 — Pour le dégradé, ceci ets la couleur de fin.

  • point — La coordonnée où le dégrradé de couleur commence.

  • point2 — La coordonnées où le dégradé de couleur fini.

Usage


<p:color id="foo" color="#0ff00f"/>
<p:color id="bar" color="#ff00ff" color2="#00ff00" 
                  point="50 50" point2="300 300"/>

<p:stroke>

Description

Description d'un trait pour dessiner des lignes dans un diagramme.

Attribues

  • width — La largeur du trait.

  • cap — Le type de ligne. Les valeurs valident sont butt, round et square

  • join — Le type de ligne de liaison. Les valeurs valident sont miter, round et bevel

  • miterLimit — Pour une liaison en angle, cette valeur est la taille limite de la liaison.

  • dash — La valeur des tirets défini pour le patron de tirets à utiliser pour dessiner la ligne. Des entiers séparés par des espaces indique la longeur de chaque segments d'espacement, puis de tiret.

  • dashPhase — The dash phase indicates the offset into the dash pattern that the line should be drawn with.

Usage


<p:stroke id="dot2" width="2" cap="round" join="bevel" dash="2 3" />

Seam peut utiliser iText pour générer des codes barres dans une grande variété de formats. Ces codes barres peuvent être embarqués dans un document PDF ou affichés comme une image sur une page Web. Notez que quand on utilise comme une image en HTML, les codes barres ne peuvent pas afficher de texte dans le code barre.

Si vous avez un PDF prégénéré et complexe avec des champs de formunaire, vous pouvez facillement remplir les valeurs depuis votre applicatio et le présenter aux utilisateurs.

<p:form>

Description

Définissez un modèle de formulaire à remplir

Attribues

  • URL — Une URL indiquant où le fichier PDF est à utiliser comme modèle. Si la valeur n'a pas de partie avec un protocole(://), le fichier est lu localement.

  • filename — Le nom de fichier à utiliser pour générer le fichier PDDF

  • exportKey — Placez le fichier PDF à générer dans un objet DocumentData sous la clé spécifiée dans le contexte evenementiel. Si défini, aucune redirection n'intervient.

<p:field>

Description

Connectez le nom d'un champs à sa valeur

Attribues

  • name — Le nom du champs.

  • value — La valeur du champs

  • readOnly — Le champ est-il en lecture seule? Par défaut à vrai.



                                <p:form
                                       xmlns:p="http://jboss.com/products/seam/pdf"
                                       URL="http://localhost/Concept/form.pdf">
                                    <p:field name="person.name" value="Me, myself and I"/>
                                </p:form>
                        
                

Seam fourni maintenant un support expérimental pour le rendu des composants Swing dans une image PDF. Quelques supports de thème de Swing, notablement ce qui utilisent des widgets natifs, ne seront pas rendu correctement.

La génération de document fonctionne tel quelle sans aucune configurationns additionnelles nécéssaire. Cependant, il y a quelques éléments de configuration qui sont écéssaire pour des applications plus importantes.

L'implémentation par défaut délivre des documents PDF depuis une URL générique, /seam-doc.seam. Beaucoup de navigateurs (et d'utilisateurs) préfèrerons voir les URLs qui contienne un véritable nom de PDF comme /myDocument.pdf. Cette capacité nécéssite un peu de configuration. Pour délivrer des fichiers PDF , toutes les resources *.pdf devrait être liées au DocumentStoreServlet:


<servlet>
    <servlet-name
>Document Store Servlet</servlet-name>
    <servlet-class
>org.jboss.seam.document.DocumentStoreServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name
>Document Store Servlet</servlet-name>
    <url-pattern
>*.pdf</url-pattern>
</servlet-mapping
>

L'option use-extensions sur le document stocke le composant complète la fonctionnalité en introduisant le document stocké en générant les URLs avec l'extension sur le nom de fichier correcte pour le document ayant été généré.


<components xmlns="http://jboss.com/products/seam/components"
    xmlns:document="http://jboss.com/products/seam/document"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://jboss.com/products/seam/document http://jboss.com/products/seam/document-2.2.xsd
        http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.2.xsd">
    <document:document-store use-extensions="true"/>
</components
>

Le porte-document stocke les documents dans l'étendue de conversation et les document vont expirés quand la conversation se terminera. A ce moment là, les références vers le document seront invalidées. Vous pouvez spécifier uen vue par défaut à afficher quand un document n'existe pas en utilisant la propriété error-page du documentStore.


<document:document-store use-extensions="true" error-page="/documentMissing.seam" />

Pour plus d'informations sur iText, voir: