Java: Comment puis-je générer un fichier PDF à partir d'une page JSP JSF?


J'ai besoin de générer un PDF à partir d'une page JSP JSF. J'ai cherché sur le net, mais je n'ai trouvé aucun exemple de la façon dont je devrais faire cela. J'ai besoin de transformer toute la page, ou peut-être seulement les graphiques que j'ai sur cette page.

PS J'utilise également IceFaces.

Author: user239161, 2009-12-27

4 answers

Le moyen le plus simple est probablement de capturer le HTMLà l'aide d'un Filter et de le convertir en PDF à l'aide d'une API appropriée, puis de renvoyer les application/pdf données du Filter. Le support IceFaces partial-submit peut probablement être utilisé pour capturer un sous-ensemble de la sortie de l'arborescence des composants, mais vous devrez probablement étudier les détails des requêtes HTTP IceFaces pour comprendre comment exploiter cela.

 7
Author: McDowell, 2009-12-27 14:24:56

Pour autant que je sache, ce n'est pas directement possible. Vous pouvez utiliser Jasper Reports pour générer un PDF côté serveur. Ou, vous pouvez utiliser PrintPDF qui est un plugin Firefox pour en créer un à partir du navigateur Web.

 2
Author: Mark Pope, 2009-12-27 13:42:11

Vous aurez probablement besoin des éléments suivants:

  1. Capturez la sortie (X)HTML de votre page. Cela peut être fait via le code suivant dans un servlet de votre choix:

    InputStream is = new URL("http://localhost/foo/page.jsf").openStream();
    
  2. Transformez le contenu capturé en PDF. Voir le moteur de rendu Flying Soucoupe (et en plus - ce fil)

  3. "Envoyer" le PDF généré. Autrement dit, il suffit d'écrire (imprimer) votre PDF dans le response.getOutputStream() et de définir un en-tête Content-Type - response.setContentType("application/pdf")

 2
Author: Bozho, 2017-05-23 10:32:56

Cela pourrait être une réponse. Lire cet article: Combiner les facelets JSF et le rendu XHTML de la Soucoupe volante

 1
Author: dboldureanu, 2012-11-24 10:46:59