SeamFramework.orgCommunity Documentation

Capitolo 18. Generazione di PDF con iText

18.1. Utilizzo del supporto PDF
18.1.1. Creazione di un documento
18.1.2. Elementi base per il testo
18.1.3. Intestazioni e pié di pagina
18.1.4. Capitoli e Sezioni
18.1.5. Liste
18.1.6. Tabelle
18.1.7. Costanti nei documenti
18.2. Grafici
18.3. Codici a barre
18.4. Form da riempire
18.5. Componenti per i rendering Swing/AWT
18.6. Configurazione di iText
18.7. Ulteriore documentazione

Seam adesso include un componente per la generazione di documenti usando iText. Il primo focus del supporto di Seam ai documenti iText è per la generazione dei documenti PDF, ma Seam offre anche un supporto base per la generazione di documenti RTF.

Il supporto a iText è fornito da jboss-seam-pdf.jar. Questo JAR contiene i controlli JSF di iText, che sono usati per costruire le viste che possono generare il PDF, e il componente DocumentStore, che serve i documenti renderizzati per l'utente. Per includere il supporto PDF nell'applicazione, si metta jboss-seam-pdf.jar nella directory WEB-INF/lib assieme al file JAR di iText. Non serve alcuna ulteriore configurazione per usare il supporto a iText di Seam.

Il modulo iText di Seam richiede l'uso dei Facelets come tecnologia per la vista.Versioni future della libreria potrebbero supportare anche l'uso di JSP. In aggiunta, si richiede l'uso del pacchetto seam-ui.

Il progetto examples/itext contiene un esempio di supporto PDF. Viene mostrato il corretto impacchettamento per il deploy e l'esempio contiene un gran numero di funzionalità per la generazione PDF attualmente supportate.

<p:document>

Descrizione

I documenti vengono generati dai file XHTML facelet usando dei tag nel namespace http://jboss.com/products/seam/pdf. I documenti dovrebbero sempre avere il tag document alla radice del documento. Il tag document prepara Seam a generare un documento nel DocumentStore e compie un redirect HTML a quel contenuto memorizzato.

Attributi

  • type — Il tipo di documento da produrre. Valori validi sono PDF, RTF e HTML. Seam imposta come default la generazione PDF, e molte caratteristiche funzionano correttamente solo quando si generano documenti PDF.

  • pageSize — La dimensionedella pagina da generare. I valori maggiormente usati dovrebbero essere LETTER e A4. Una lista completa delle dimensioni di pagina supportate si trova nella classe com.lowagie.text.PageSize. In alternativa, pageSize può direttamente fornire la larghezza e l'altezza della pagina. Per esempio, il valore "612 792" è equivalente alla dimensione della pagina LETTER.

  • orientation — L'orientamento della pagina. Valori validi sono portrait e landscape. Nella modalità landscape, i valori dell'altezza e della larghezza della pagina sono invertiti.

  • margins — Valori di margine left, right, top e bottom.

  • marginMirroring — Indica che le impostazioni dei margini dovrebbero essere invertite in pagine alternate.

  • disposition — Quando si generano PDF in un browser, questo determina la Content-Disposition HTTP del documento. Valori validi sono inline, che indica che il documento deve essere mostrato in una finestra del browser se possibile, e attachment, che indica che il documento deve essere trattato come download. Il valore di default è inline.

  • fileName — Per gli allegati questo valore sovrascrive il nome del file scaricato.

Attributi dei metadati

  • title

  • subject

  • keywords

  • author

  • creator

Utilizzo


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

I documenti utili dovranno contenere più che il solo testo; comunque i componenti standard UI sono idonei per la generazione HTML e non sono utili per generare contenuto in PDF. Invece Seam fornisce dei componenti UI speciali per generare contenuto in PDF idoneo. Tag quali <p:image> e <p:paragraph> sono la base per i semplici documenti. Tag come <p:font> forniscono informazioni di stile a tutto il contenuto che sta intorno.

<p:paragraph>

Descrizione

La maggior parte dell'uso del testo dovrebbe essere sezionato in paragrafi, affinché i frammenti del testo possano scorrere, formattati ed con uno stile in gruppi logici.

Attributi

  • firstLineIndent

  • extraParagraphSpace

  • leading

  • multipliedLeading

  • spacingBefore — Lo spazio bianco da inserire prima dell'elemento.

  • spacingAfter — Lo spazio bianco da inserire dopo l'elemento.

  • indentationLeft

  • indentationRight

  • keepTogether

Utilizzo


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

<p:text>

Descrizione

Il tag text consente ai frammenti del testo di essere prodotti dai dati dell'applicazione usando normali meccanismi convertitori JSF. E' molto simile al tag outputText impiegato quando si generano documenti HTML.

Attributi

  • value — Il valore da visualizzare. Questo sarà tipicamente un'espressione di binding.

Utilizzo


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

<p:html>

Descrizione

Il tag html genera contenuto HTML in PDF.

Attributi

  • value — Il testo da visualizzare.

Utilizzo



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

Descrizione

Il tag font definisce il font di default da usarsi per tutto il testo contenuto in esso.

Attributi

  • name — Il nome del font, per esempio: COURIER, HELVETICA, TIMES-ROMAN, SYMBOL o ZAPFDINGBATS.

  • size — La dimensione del punto nel font.

  • style — Gli stili del font. Una combinazione di: NORMAL, BOLD, ITALIC, OBLIQUE, UNDERLINE, LINE-THROUGH.

  • color — Il colore del carattere. (Si veda Sezione 18.1.7.1, «Valori dei colori» per i valori dei colori)

  • encoding — La codifica del set di caratteri.

Utilizzo


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

<p:textcolumn>

Descrizione

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.

Attributi

  • 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

Utilizzo



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

Descrizione

p:newPage inserisce un'interruzione di pagina.

Utilizzo


<p:newPage />

<p:image>

Descrizione

p:image inserisce un'immagine in un documento. Le immagini possono essere caricate dal classpath o dal contesto dell'applicazione web usando l'attributo value.

Le risorse possono anche essere generate dinamicamente dal codice dell'applicazione. L'attributo imageData può specificare un'espressione di value binding il cui valore è un oggetto java.awt.Image.

Attributi

  • value — Un nome di risorsa oppure un binding di metodo ad un'immagine generata dall'applicazione.

  • rotation — La rotazione dell'immagine in gradi.

  • height — L'altezza dell'immagine.

  • width — La larghezza dell'immagine.

  • alignment— L'allineamento dell'immagine. (vedere Sezione 18.1.7.2, «Valori per l'allineamento» per i possibili valori)

  • alt — Testo alternativo per la rappresentazione dell'immagine.

  • indentationLeft

  • indentationRight

  • spacingBefore — Lo spazio bianco da inserire prima dell'elemento.

  • spacingAfter — Lo spazio bianco da inserire dopo l'elemento.

  • widthPercentage

  • initialRotation

  • dpi

  • scalePercent — Il fattore di scala (come percentuale) da usare per l'immagine. Questo può esprimersi come valore di percentuale singola oppure come valori di due percentuali che rappresentano percentuali separate per la scala lungo x o lungo y.

  • scaleToFit — Specifica la X e la Y a cui scalare l'immagine. L'immagine verrà scalata per corrispondere a quelle dimensioni tanto più in modo preciso da preservare il rapporto XY dell'immagine.

  • wrap

  • underlying

Utilizzo


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

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

<p:anchor>

Descrizione

p:anchor definisce i link cliccabili da un documento. Supporta i seguenti attributi:

Attributi

  • name — Il nome di una destinazione d'ancora dentro il documento.

  • reference — La destinazione a cui il link di riferisce. I link ad altri punti del documento dovrebbero iniziare con un "#". Per esempio, "#link1" si riferisce ad una posizione dell'ancora con il name impostato a link1. I link possono anche essere URL completi ad un punto della risorsa fuori dal documento.

Utilizzo


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

Descrizione

I componenti p:header e p:footer forniscono la possibilità di collocare il testo per l'intestazione ed il pié di pagina in ogni pagina del documento generato. Le dichiarazioni di header e footer dovrebbero apparire all'inizio del documento.

Attributi

  • alignment — L'allineamento della sezione header/footer. (Si veda Sezione 18.1.7.2, «Valori per l'allineamento» per i valori dell'allineamento)

  • backgroundColor — Il colore del background di header/footer. (Si veda Sezione 18.1.7.1, «Valori dei colori» per i valori dei colori)

  • borderColor — Il colore del bordo di header/footer. I singoli lati dei bordi possono essere impostati usando borderColorLeft, borderColorRight, borderColorTop e borderColorBottom.(Si veda Sezione 18.1.7.1, «Valori dei colori»per i valori dei colori)

  • borderWidth — La larghezza del bordo. I singoli lati dei bordi possono essere specificati usando borderWidthLeft, borderWidthRight, borderWidthTop e borderWidthBottom.

Utilizzo


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

Descrizione

Il numero della pagina corrente può essere collocato dentro un header o un footer usando il tag p:pageNumber. Il tag del numero della pagina può essereusato solamente nel contesto dell'header o footer e può essere usato solo una volta.

Utilizzo


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

<p:chapter>

<p:section>

Descrizione

Se il documento generato segue una struttura libro/articolo, i tag p:chapter e p:section possono essere usati per fornire la struttura necessaria. Le sezioni possono essere usate soltanto dentro i capitoli, ma possono essere innestate con profondità arbitraria. La maggior parte dei visualizzatori PDF forniscono una facile navigazione tra i capitoli e le sezioni di un documento.

Nota

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

Attributi

  • alignment — L'allineamento della sezione header/footer. (Si veda Sezione 18.1.7.2, «Valori per l'allineamento» per i valori dell'allineamento)

  • 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.

    Nota

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

Utilizzo


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

Descrizione

Ogni capitolo o sezione può contenere un p:title. Il titolo verrà mostrato vicino al numero del capitolo/sezione. Il corpo del titolo può contenere del semplice testo oppure un p:paragraph.

Le strutture di lista possono essere visualizzate usando i tag p:list e p:listItem. Le liste possono contenere sottoliste arbitrariamente innestate. Gli elementi di lista non possono essere usati fuori da una lista. Il seguente documento utilizza il tag ui:repeat per mostrare una lista di valori recuperata da un componente 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>

Attributi

  • style — Lo stile per l'ordinamento ed il contrassegno della lista. Un valore fra: NUMBERED, LETTERED, GREEK, ROMAN, ZAPFDINGBATS, ZAPFDINGBATS_NUMBER. Se non è fornito nessuno stile, gli elementi della lista sono contrassegnati.

  • listSymbol — Per le liste contrassegnate, specifica il simbolo del contrassegno.

  • indent — Il livello di indentazione della lista.

  • lowerCase — Per gli stili di lista che usano le lettere, indica se le lettere debbano essere minuscole.

  • charNumber — Per ZAPFDINGBATS, indica il codice del carattere per il carattere di contrassegno.

  • numberType — Per ZAPFDINGBATS_NUMBER, indica lo stile della numerazione.

Utilizzo


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

<p:listItem>

Descrizione

p:listItem supporta i seguenti attributi:

Attributi

  • alignment — L'allineamento della sezione header/footer. (Si veda Sezione 18.1.7.2, «Valori per l'allineamento» per i valori dell'allineamento)

  • alignment — L'allineamento dell'elemento della lista. (Si veda Sezione 18.1.7.2, «Valori per l'allineamento» per i possibili valori)

  • indentationLeft — La quantità di indentazione sinistra.

  • indentationRight — La quantità di indentazione destra.

  • listSymbol — Sovrascrive il simbolo di default della lista per quest'elemento della lista.

Utilizzo


...

Le strutture della tabella possono essere create usando i tag p:table e p:cell. A differenza di molte strutture di tabella, non c'è alcuna dichiarazione esplicita di riga. Se una tabella ha 3 colonne, allora le 3 celle formeranno automaticamente una riga. Le righe di header e footer possono essere dichiarate, e gli header ed i footer verranno ripetuti nel caso una struttura di tabella prosegua su più pagine.

<p:table>

Descrizione

p:table supporta i seguenti attributi:

Attributi

  • columns — Il numero di colonne (celle) che formano una riga della tabella.

  • widths — Le larghezze relative di ciascuna colonna. Dovrebbe esserci un valore per ciascuna colonna. Per esempio: larghezze="2 1 1" dovrebbe indicare che ci sono 3 colonne e la prima colonna è due volte la dimensione della seconda e della terza colonna.

  • headerRows — Il numero iniziale di righe che sono considerate righe dell'header e del footer e devono essere ripetute se la tabella prosegue per più pagine.

  • footerRows — Il numero iniziale di righe che sono considerate righe del footer. Questo valore è sottratto dal valore headerRows. Se il documento ha 2 righe che formano l'header ed una riga che forma il footer, headerRows deve essere impostato a 3 footerRows deve essere impostato a 1.

  • widthPercentage — La percentuale della larghezza della pagina che occupa la tabella.

  • horizontalAlignment — L'allineamento orizzontale della tabella. (Si veda Sezione 18.1.7.2, «Valori per l'allineamento» per i possibili valori)

  • skipFirstHeader

  • runDirection

  • lockedWidth

  • splitRows

  • spacingBefore — Lo spazio bianco da inserire prima dell'elemento.

  • spacingAfter — Lo spazio bianco da inserire dopo l'elemento.

  • extendLastRow

  • headersInEvent

  • splitLate

  • keepTogether

Utilizzo


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

Descrizione

p:cell supporta i seguenti attributi.

Attributi

  • colspan — Le celle possono proseguire per più di una colonna dichiarando un colspan maggiore di 1. Le tabelle non hanno la possibilità di proseguire su più righe.

  • horizontalAlignment — L'allineamento orizzontale della cella. (Si veda Sezione 18.1.7.2, «Valori per l'allineamento» per i possibili valori)

  • verticalAlignment — L'allineamento verticale della cella. (Si veda Sezione 18.1.7.2, «Valori per l'allineamento» per i possibili valori)

  • padding — Il padding su un particolare lato può essere specificato usando paddingLeft, paddingRight, paddingTop e paddingBottom.

  • useBorderPadding

  • leading

  • multipliedLeading

  • indent

  • verticalAlignment

  • extraParagraphSpace

  • fixedHeight

  • noWrap

  • minimumHeight

  • followingIndent

  • rightIndent

  • spaceCharRatio

  • runDirection

  • arabicOptions

  • useAscender

  • grayFill

  • rotation

Utilizzo


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

Il supporto ai grafici è fornito da jboss-seam-pdf.jar. I grafici possono essere impiegati nei documenti PDF o possono essere usati come immagini in una pagina HTML. Disegnare i grafici richiede la libreria JFreeChart (jfreechart.jar e jcommon.jar) che deve essere aggiunta alla directory WEB-INF/lib. Tre tipi di grafici sono attualmente supportati: a torta, a barre e a linee. Quando serve un grado di varietà e di controllo elevato, è possibile costruire i grafici usando codice Java.

<p:chart>

Descrizione

Visualizza un grafico creato in Java da un componente Seam.

Attributi

  • chart — L'oggetto grafico da visualizzare.

  • height — L'altezza del grafico.

  • width — La larghezza del grafico.

Utilizzo


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

<p:barchart>

Descrizione

Visualizza un grafico a barre.

Attributi

  • chart — L'oggetto grafico da visualizzare, se viene usata la creazione del grafico via codice.

  • dataset — Il dataset da visualizzare, se viene usato un dataset via codice.

  • borderVisible — Controlla se mostrare oppure no un bordo attorno a tutto il grafico.

  • borderPaint — Il colore del bordo, se visibile;

  • borderBackgroundPaint — Il colore di default per lo sfondo del grafico.

  • borderStroke

  • domainAxisLabel — L'etichetta del testo per gli assi del dominio.

  • domainLabelPosition — L'angolo delle etichette di categoria degli assi. I valori validi sono STANDARD, UP_45, UP_90, DOWN_45 e DOWN_90. In alternativa, il valore può essere un valore positivo o negativo in radianti.

  • domainAxisPaint — Il colore dell'etichetta degli assi di dominio.

  • domainGridlinesVisible— Controlla se mostrare oppure no all'interno del grafico le griglie per gli assi del dominio.

  • domainGridlinePaint— Il colore delle griglie di dominio, se visibili.

  • domainGridlineStroke — Lo stile del tratteggio delle griglie di dominio, se visibili.

  • height — L'altezza del grafico.

  • width — La larghezza del grafico.

  • is3D — Un valore booleano che indica di visualizzare il grafico in 3D invece che in 2D.

  • legend — Un valore booleano che indica se oppure no includere la legenda nel grafico.

  • legendItemPaint— Il colore di default delle etichette di testo nella legenda.

  • legendItemBackgoundPaint— Il colore dello sfondo della legenda, se diverso dal colore di sfondo del grafico.

  • legendOutlinePaint— Il colore del bordo attorno alla legenda.

  • orientation — L'orientamento del disegno, o vertical (di default) o horizontal.

  • plotBackgroundPaint— Il colore dello sfondo del disegno.

  • plotBackgroundAlpha— Il livello alfa (trasparenza) dello sfondo del disegno. Dovrebbe essere un numero tra 0 (completamente trasparente) e 1 (completamente opaco).

  • plotForegroundAlpha— Il livello alfa (trasparenza) del disegno. Dovrebbe essere un numero tra 0 (completamente trasparente) e 1 (completamente opaco).

  • plotOutlinePaint— Il colore delle griglie di range, se visibili.

  • plotOutlineStroke — Lo stile del tratteggio delle griglie di range, se visibili.

  • rangeAxisLabel — L'etichetta di testo per l'asse di range.

  • rangeAxisPaint — Il colore per l'etichetta dell'asse di range.

  • rangeGridlinesVisible— Controlla se visualizzare nel grafico oppure no le griglie per l'asse di range.

  • rangeGridlinePaint— Il colore delle griglie di range, se visibili.

  • rangeGridlineStroke — Lo stile del tratteggio delle griglie di range, se visibili.

  • title — Il titolo del grafico.

  • titlePaint— Il colore del titolo del grafico.

  • titleBackgroundPaint— Il colore di sfondo attorno al titolo del grafico.

  • width — La larghezza del grafico.

Utilizzo


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

Descrizione

Mostra un grafico a linea.

Attributi

  • chart — L'oggetto grafico da visualizzare, se viene usata la creazione del grafico via codice.

  • dataset — Il dataset da visualizzare, se viene usato un dataset via codice.

  • borderVisible — Controlla se mostrare oppure no un bordo attorno a tutto il grafico.

  • borderPaint — Il colore del bordo, se visibile;

  • borderBackgroundPaint — Il colore di default per lo sfondo del grafico.

  • borderStroke

  • domainAxisLabel — L'etichetta del testo per gli assi del dominio.

  • domainLabelPosition — L'angolo delle etichette di categoria degli assi. I valori validi sono STANDARD, UP_45, UP_90, DOWN_45 e DOWN_90. In alternativa, il valore può essere un valore positivo o negativo in radianti.

  • domainAxisPaint — Il colore dell'etichetta degli assi di dominio.

  • domainGridlinesVisible— Controlla se mostrare oppure no all'interno del grafico le griglie per gli assi del dominio.

  • domainGridlinePaint— Il colore delle griglie di dominio, se visibili.

  • domainGridlineStroke — Lo stile del tratteggio delle griglie di dominio, se visibili.

  • height — L'altezza del grafico.

  • width — La larghezza del grafico.

  • is3D — Un valore booleano che indica di visualizzare il grafico in 3D invece che in 2D.

  • legend — Un valore booleano che indica se oppure no includere la legenda nel grafico.

  • code — Il valore da codificare nel barcode.

  • legendItemBackgoundPaint — Il colore di sfondo della legenda, se diverso dal colore di sfondo del grafico.

  • code — Il valore da codificare nel barcode.

  • orientation — L'orientamento del disegno, o vertical (di default) o horizontal.

  • code — Il valore da codificare nel barcode.

  • plotBackgroundAlpha— Il livello alfa (trasparenza) dello sfondo del disegno. Dovrebbe essere un numero tra 0 (completamente trasparente) e 1 (completamente opaco).

  • plotForegroundAlpha— Il livello alfa (trasparenza) del disegno. Dovrebbe essere un numero tra 0 (completamente trasparente) e 1 (completamente opaco).

  • plotOutlinePaint — Il colore delle griglie di range, se visibili.

  • plotOutlineStroke — Lo stile del tratteggio delle griglie di range, se visibili.

  • rangeAxisLabel — L'etichetta di testo per l'asse di range.

  • rangeAxisPaint — Il colore per l'etichetta dell'asse di range.

  • rangeGridlinesVisible — Controlla se visualizzare nel grafico oppure no le griglie dell'asse di range.

  • rangeGridlinePaint — Il colore delle griglie di range, se visibili.

  • rangeGridlineStroke — Lo stile del tratteggio delle griglie di range, se visibili.

  • title — Il titolo del grafico.

  • code — Il valore da codificare nel barcode.

  • code — Il valore da codificare nel barcode.

  • width — La larghezza del grafico.

Utilizzo


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

Descrizione

Mostra un grafico.

Attributi

  • title — Il titolo del grafico.

  • chart — L'oggetto grafico da visualizzare, se viene usata la creazione del grafico via codice.

  • dataset — Il dataset da visualizzare, se viene usato un dataset via codice.

  • code — Il valore da codificare nel barcode.

  • legend — Un valore booleano che indica se oppure no includere la legenda nel grafico. Di default è true.

  • is3D — Un valore booleano che indica di visualizzare il grafico in 3D invece che in 2D.

  • labelLinkMargin — Il margine di collegamento per le etichette.

  • labelLinkPaint — Il motivo usato per le linee di collegamento dell'etichetta.

  • code — Il valore da codificare nel barcode.

  • labelLinksVisible — Un flag che controlla se vengono disegnati o no i link di etichetta.

  • code — Il valore da codificare nel barcode.

  • code — Il valore da codificare nel barcode.

  • code — Il valore da codificare nel barcode.

  • code — Il valore da codificare nel barcode.

  • labelGap — Il gap tra le etichette ed il disegno come percentuale della larghezza del disegno.

  • labelBackgroundPaint — Il colore usato per disegnare lo sfondo delle etichette di sezione. Se null, lo sfondo non viene riempito.

  • code — Il valore da codificare nel barcode.

  • circular — Un valore booleano che indica se il grafico deve essere disegnato come cerchio. Se false, il grafico viene disegnato come ellisse. Di default è true.

  • direction — La direzione in cui vengono disegnate le sezioni della torta. Un valore tra: clockwise o anticlockwise. Il default è clockwise.

  • code — Il valore da codificare nel barcode.

  • code — Il valore da codificare nel barcode.

  • sectionOutlinesVisible — Indica se viene disegnata una outline per ciascuna sezione del disegno.

  • code — Il valore da codificare nel barcode.

  • code — Il valore da codificare nel barcode.

  • code — Il valore da codificare nel barcode.

Utilizzo


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

Descrizione

I dati di categoria posso essere spezzati in serie. I tag delle serie vengono usati per categorizzare un set di dati con serie ed applicare lo stile all'intera serie.

Attributi

  • key — Il nome delle serie.

  • seriesPaint — Il colore di ciascun item nelle serie.

  • seriesOutlinePaint — Il colore dell'outline per ciascun elemento nella serie.

  • seriesOutlineStroke — Il tratteggio usato per disegnare ciascun elemento nella serie.

  • seriesVisible — Un valore booleano che indicare se la serie debba essere visualizzata.

  • seriesVisibleInLegend — Un valore booleano che indicare se la serie debba essere elencata nella legenda.

Utilizzo


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

Descrizione

Il tag dei dati descrive ciascun punto di dati da mostrare nel grafico.

Attributi

  • key — Il nome dell'item di dati.

  • series — I nomi delle serie, quando non è incorporato dentro un <p:series>.

  • value — Il valore numerico dei dati.

  • explodedPercent — Per i grafici a torta, indica come viene esploso un pezzo della torta.

  • sectionOutlinePaint — Per i grafici a barre, il colore dell'outline di sezione.

  • sectionOutlineStroke — Per i grafici a barre, il tipo di tratteggio dell'outline di sezione.

  • sectionPaint — Per i grafici a barre, il colore della sezione.

Utilizzo


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

Descrizione

Il componente del colore dichiara un colore oppure un gradiente che può venire referenziato quando si disegnano forme piene.

Attributi

  • color — Il valore del colore. Per gradienti di colore, questo è il colore iniziale. Sezione 18.1.7.1, «Valori dei colori»

  • color2 — Per gradienti di colore, questo è il colore che termina il gradiente.

  • point — Le coordinate dove inizia il colore gradiente.

  • point2 — Le coordinate dove finisce il colore gradiente.

Utilizzo


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

<p:stroke>

Descrizione

Descrive un tratteggio usato per disegnare le linee in un grafico.

Attributi

  • width — La larghezza del tratteggio.

  • cap — Il tipo di line cap. Valori validi sono butt, round e square

  • join — Il tipo di line join. Valori validi sono miter, round e bevel

  • miterLimit — Per join di tipo miter, questo valore è il limite della dimensione del join.

  • dash — Il valore del dash imposta il pattern dash da usare per disegnare la linea. Gli interi separati da spazio indicano la lunghezza di ciascun segmento in modo alternato disegnato e non disegnato.

  • dashPhase — La fase di dash indica l'offset nel pattern dash che con cui la linea dovrebbe essere disegnata.

Utilizzo


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

Seam può usare iText per generare barcode in un'ampia varietà di formati. Questi barcode possono essere incorporati in un documento PDF o mostrati come immagine in una pagina web. Si noti che quando sono usati in immagini HTML, i barcode non possono attualmente mostrare testo al loro interno.

Se si ha un PDF complesso pregenerato con campi definiti (con nome), lo si può facilmente riempire con valori dell'applicazione e presentarlo all'utente.

<p:form>

Descrizione

Definisce un modello di form da popolare

Attributi

  • URL — Un URL che punta al file PDF da usarsi come template. Se il valore non ha la partedi protocollo (://), il file viene letto localmente.

  • filename — Il nome del file da usare per il file PDF generato.

  • exportKey — Colloca un file PDF generato in un oggetto DocumentData sotto la chiave specificata nel contesto evento. Se impostato, non avverrà alcun redirect.

<p:field>

Descrizione

Unisce un nome campo al suo valore

Attributi

  • name — Il nome del campo.

  • value — Il valore del campo.

  • readOnly — Il campo deve essere di sola lettura? Di default è true.



                                <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 fornisce ora il supporto sperimentale per generare componenti Swing in un'immagine di PDF. Alcuni componenti Swing look and feels, in particolare quelli che usano widget nativi, non verranno correttamente generati.

La generazione del documento funziona senza nessuna ulteriore configurazione. Comunque ci sono alcuni punti della configurazione necessari per applicazioni più serie.

L'implementazione di default serve i documenti PDF da un URL generico, /seam-doc.seam. Molti browser (e utenti) preferiscono vedere URL che contengono il vero nome del PDF, come /myDocument.pdf. Questa capacità richiede una configurazione. Per servire file PDF, tutte le risorse *.pdf devono essere mappate sul 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'opzione use-extensions nel componente document store completa la funzionalità istruendo il document store su come generare l'URL con l'estensione corretta del nome per i tipi di documenti da generare.


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

Document store memorizza i documenti nello scope conversazione, ed i documenti scadranno quando termina la conversazione. A quel punto i riferimenti al documento saranno invalidati. Si può specificare la vista di default da mostrare quando un documento non esiste usando la proprietà error-page di documentStore.


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

Per leggere ulteriore documentazione su iText, vedere: