IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Jasper Discussion :

regrouper plusieurs pages pdf de différentes requêtes


Sujet :

Jasper

  1. #1
    Membre du Club
    Profil pro
    Élève
    Inscrit en
    Avril 2004
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Avril 2004
    Messages : 97
    Points : 62
    Points
    62
    Par défaut regrouper plusieurs pages pdf de différentes requêtes
    Bonjour,

    Je souhaite regrouper plusieurs pages pdf de différentes requêtes.
    En effet, j'ai une requête QUERY_AAA que je dois exécuter plusieurs fois de suite en fonction d'un paramètre. A chaque fois que j'appelle celle-ci doit correpondre normalement une page PDF (c'est toujours la même. Celle-ci est réalisée avec IReport).
    Je voudrais avoir toutes mes pages au sein d'un même doc PDF et ne sais pas comment faire. Comment faut-il adapter le code ci-dessous ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    JasperDesign jD;
    	JasperReport jR;
    	JasperPrint jP;
    	ByteArrayOutputStream OS = new ByteArrayOutputStream();
     
    	jD = JRXmlLoader.load(getClass().getResourceAsStream("monFichierIREPORT.jrxml"));
    	jR = JasperCompileManager.compileReport(jD);
     
    	try {
    				InitialContext ctx = new InitialContext();
    				DataSource ds = (DataSource) ctx.lookup(rb.getString("dsJNDIName"));
    				conn = ds.getConnection();
    				QUERY_AAA = " ...";
     
    				PreparedStatement ps = conn.prepareStatement(QUERY_AAA);
     
    				ResultSet rs = ps.executeQuery();
     
    				while (rs.next()) {
    					if (rs.getString(1) != null)
    						HM.put("personne", (Object) rs.getString(1));
    					...
    				}
     
    				rs.close();
    				ps.close();
    			} catch (Exception ex) {
    				log.error(ex);
    			} finally {
    				try {
    					conn.close();
    				} catch (SQLException e) {
    					log.error(e.toString());
    				}
    			}
     
    			// Create JasperPrint using fillReport() method
    			jP = JasperFillManager.fillReport(jR, HM, new JREmptyDataSource());
    			JasperExportManager.exportReportToPdfStream(jP, OS);
    			pdfBean.setPagePdf(OS);
     
    			 if(pdfBean.getPagePdf() != null)
    			  {
    				  response.setContentType("application/pdf");
    				  byte[]b = pdfBean.getPagePdf().toByteArray();
    				  response.getOutputStream().write(b);
    			  }

    Pour info, la methode setPagePdf de pdfBean est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     public void setPagePdf(ByteArrayOutputStream pagepdf) 
    			  {
    					this.pagePdf = pagepdf;
    			  }
    Merci d'avance.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Tu peux concatèner tous tes pdf avec itext tous simplement

  3. #3
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    Sinon tu penses à créer un fichier XML (rempli par une boucle sur tous les paramètres) en mémoire qui servira comme source de données à ton rapport.
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 37
    Points : 41
    Points
    41
    Par défaut
    Une solution consisterait à créer un rapport principal contenant un sous-rapport pour chacun des rapports à lancer

Discussions similaires

  1. Generer plusieurs page PDF en VB NET
    Par floriaan60 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 23/06/2008, 14h46
  2. Réponses: 7
    Dernier message: 13/10/2006, 00h45
  3. [SQL] Afficher les résultats d'une requête sur plusieurs pages
    Par mealtone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/09/2006, 13h20
  4. [HTML] Ouvrir plusieurs fichiers pdf dans une page
    Par PrinceMaster77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 05/05/2006, 09h34
  5. [CR8.5]Texte de plusieurs page généré en pdf
    Par Nout dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 26/07/2005, 08h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo