2010-11-16 3 views
1

Je voudrais imprimer des rapports sur des surfaces de glace, mais je pourrais trouver une méthode appropriée pour cela. S'il vous plaît me guider pour la mise en œuvre de la même chose dans mon projet.Impression sur des surfaces de glace

+0

Soyez plus précis. – Sylar

Répondre

2

J'ai utilisé la balise ice: outputResource pour permettre à l'utilisateur de télécharger un fichier de rapport PDF. L'attribut de ressource de cette balise doit pointer une propriété de bean géré qui implémente com.icesoft.faces.context.Resource.

+0

Salut! JOTN votre méthode fonctionne .. J'ai finalement mis cela à l'essai et a constaté que la ressource n'a pas besoin d'être une propriété bean gérée spécifique, mais il peut s'agir de n'importe quelle ressource dynamique. Merci – venomrld

2

après m'être fait une idée de JOTN Je suis enfin capable de le mettre ensemble.

Nous pouvons utiliser la balise outputresource pour lier à tout type de ressource, non seulement statique, mais aussi dynamique (à la volée).

Laissez-nous jeter un oeil à l'exemple suivant:

JSF Page:

.. 
.. 
<ice:outputResource id="outputResource1" attachment="false" fileName="File1.pdf" label="Click to download attachment" mimeType="application/pdf" rendered="true" resource="#{ReportParam01.reportfilers}" shared="false"/> 
.. 
.. 

Ici, j'ai observé que le lien de outputresource n'apparaîtra pas tant que le fichier est effectivement généré (je cas de documents à la volée). Supposons que nous souhaitons générer un fichier pdf dynamiquement.

Les étapes suivantes le lieront à l'outputrespurce mentionné ci-dessus.

Managed Bean:

public class....{ 
    .... 
    // This is the resource linked to the <ice:outputresource> tag. 
    // Encapsulation has been done to link it. 
    Reource reportfilers; 
    .... 

    public void createDocument() { 
     Document reportDoc = new Document(PageSize.A4); 
     File file1 = new File("Report.pdf"); 
     PdfWriter.getInstance(reportDoc, new FileOutputStream(f)); 
     // writing to pdf code continues 
     reportfilers = new FileResource(file1); 
    } 
    .... 
    .... 
} 

appel de la méthode ci-dessus (si elle n'a pas d'exception) fera le lien pour afficher et l'utilisateur peut télécharger le fichier.

Questions connexes