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

Java Discussion :

PDF vide lors de génération avec jasper report


Sujet :

Java

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 181
    Points : 80
    Points
    80
    Par défaut PDF vide lors de génération avec jasper report
    Bonjour,
    J'essai de générer un fichier pdf à l'aide de jasper report par contre ma requête contient un paramètre. Le fichier est bien généré mais vide
    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
     
    				JasperPrint xc = null;
     
     
    				try {
     
    					HashMap mesParametres = new HashMap();
     
    					mesParametres.put("Pnum", comboNum.getSelectedItem());
    					String sql="select FORME as forme,DATEPEREMPTION as date, DESIGNATION as designation from REMEDE where NUMREMEDE=$P!{Pnum}";
    					mesParametres.put("sql", sql);
    					String src ="Blank_A4.jrxml";
     
    					InputStream inputeStream = new FileInputStream(src);
     
    					JasperDesign jasperDesign = JRXmlLoader.load(src);
    			JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    					JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, mesParametres,ConnectionDb.connexion());
    					JasperExportManager.exportReportToPdfFile(jasperPrint,"remede.pdf");
    				} catch (Exception e) {
    					// TODO: handle exception*
    				e.printStackTrace();
    				}
     
    			}
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Created with Jaspersoft Studio version 6.12.0.final using JasperReports Library version 6.12.1-ac0eebdb29e4c0985457bab279a6db744d661530  -->
    <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Blank_A4" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="3f535a55-cec1-4c8c-9d8d-f3160d5ba55f">
    	<property name="com.jaspersoft.studio.data.defaultdataadapter" value="Oracle db"/>
    	<parameter name="sql" class="java.lang.String"/>
    	<parameter name="Pnum" class="java.lang.Integer"/>
    	<queryString>
    		<![CDATA[]]>
    	</queryString>
    	<field name="forme" class="java.lang.String"/>
    	<field name="date" class="java.lang.String"/>
    	<field name="designation" class="java.lang.String"/>
    	<background>
    		<band splitType="Stretch"/>
    	</background>
    	<pageHeader>
    		<band height="100" splitType="Stretch">
    			<textField pattern="MMMMM dd, yyyy">
    				<reportElement x="440" y="0" width="100" height="30" uuid="4715c373-2ae6-4c0b-9351-b4a4eaa6333e"/>
    				<textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
    			</textField>
    			<staticText>
    				<reportElement x="30" y="0" width="100" height="20" uuid="8364b5c3-7b40-436e-befd-1341672375d1"/>
    				<text><![CDATA[Designation ]]></text>
    			</staticText>
    			<staticText>
    				<reportElement x="30" y="30" width="100" height="21" uuid="36aa528d-1860-4600-8875-c0a12fa810bf"/>
    				<text><![CDATA[Forme ]]></text>
    			</staticText>
    			<staticText>
    				<reportElement x="30" y="60" width="100" height="20" uuid="597d3787-d121-429b-b4a8-4ee77dc306ed"/>
    				<text><![CDATA[Date]]></text>
    			</staticText>
    			<textField>
    				<reportElement x="150" y="30" width="100" height="21" uuid="c9f07e87-dd2e-44c5-9464-47fcc0f725bb"/>
    				<textFieldExpression><![CDATA[$F{forme}]]></textFieldExpression>
    			</textField>
    			<textField>
    				<reportElement x="150" y="60" width="100" height="20" uuid="964fd0d7-cb5d-44f2-9778-a631d5bad61b"/>
    				<textFieldExpression><![CDATA[$F{date}]]></textFieldExpression>
    			</textField>
    			<textField>
    				<reportElement x="150" y="-2" width="100" height="25" uuid="4917d0a2-9374-4c88-9bf0-da35ca37e7dd"/>
    				<textFieldExpression><![CDATA[$F{designation}]]></textFieldExpression>
    			</textField>
    			<textField>
    				<reportElement x="390" y="56" width="100" height="30" uuid="726f6e52-2ee8-4e11-a57b-f23c043e5a43"/>
    				<textFieldExpression><![CDATA[$P{Pnum}]]></textFieldExpression>
    			</textField>
    		</band>
    	</pageHeader>
    	<columnHeader>
    		<band height="61" splitType="Stretch"/>
    	</columnHeader>
    	<detail>
    		<band height="125" splitType="Stretch"/>
    	</detail>
    	<columnFooter>
    		<band height="45" splitType="Stretch"/>
    	</columnFooter>
    	<pageFooter>
    		<band height="54" splitType="Stretch"/>
    	</pageFooter>
    	<summary>
    		<band height="42" splitType="Stretch"/>
    	</summary>
    </jasperReport>
    quelqu'un voit d'ou vient l'erreur s'il vous plait?
    Merci d'avance

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    A vue de nez, tu passes une requête sql comme paramètre, mais celle-ci attend aussi un paramètre ... je ne crois pas que cela fonctionne.

    Habituellement, on met la requête qui attend un paramètre dans le rapport entre les balises <queryString> de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	<queryString>
    		<![CDATA[select FORME as forme,DATEPEREMPTION as date, DESIGNATION as designation from REMEDE where NUMREMEDE=$P!{Pnum}]]>
    	</queryString>
    du coup, tu peux simplifier ton code java en retirant l'envoi du sql comme paramètre :
    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
     
    					HashMap mesParametres = new HashMap();
     
    					mesParametres.put("Pnum", comboNum.getSelectedItem());
     
    // -------------------------- à supprimer
    //					String sql="select FORME as forme,DATEPEREMPTION as date, DESIGNATION as designation from REMEDE where NUMREMEDE=$P!{Pnum}";
    //					mesParametres.put("sql", sql);
     
    					String src ="Blank_A4.jrxml";
     
    					InputStream inputeStream = new FileInputStream(src);
     
    					JasperDesign jasperDesign = JRXmlLoader.load(src);
                     			JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    					JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, mesParametres,ConnectionDb.connexion());
    					JasperExportManager.exportReportToPdfFile(jasperPrint,"remede.pdf");
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 181
    Points : 80
    Points
    80
    Par défaut
    Oui c'était bien ça le problème et aussi des petites rectification au niveau de la requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <queryString>
    		<![CDATA[SELECT "REMEDE"."DESIGNATION" AS "designation",
    	"REMEDE"."FORME" AS "forme",
    "REMEDE"."DATEPEREMPTION" AS "date"
     FROM "REMEDE" WHERE "REMEDE"."NUMREMEDE"=$P{Pnum}]]>
    	</queryString>
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur de compilation rapport java avec Jasper report
    Par Sylvies209 dans le forum NetBeans
    Réponses: 6
    Dernier message: 31/07/2010, 14h22
  2. Problèmes de date avec Jasper Report
    Par ofo_tn dans le forum Jasper
    Réponses: 2
    Dernier message: 23/01/2009, 19h06
  3. Réponses: 6
    Dernier message: 21/10/2008, 11h02
  4. debutant avec jasper report !
    Par saadaoui_ilias dans le forum iReport
    Réponses: 1
    Dernier message: 22/06/2008, 11h21
  5. Erreur lors de génération avec WSDL2Java ( AXIS )
    Par jf_j2ee dans le forum Services Web
    Réponses: 1
    Dernier message: 28/05/2008, 18h30

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