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 :

faire fonctionner l'example XMLDataSourceExample


Sujet :

Jasper

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 711
    Points : 936
    Points
    936
    Par défaut faire fonctionner l'example XMLDataSourceExample
    Bonjour,

    je cherche a faire fonctionner l'exmple it.businesslogic.ireport.examples.XMLDataSourceExample
    addressbook.jasper
    et addressbook.xml
    j'en ai trouve sur le Net mais j'ai le message d'erreur
    net.sf.jasperreports.engine.JRException: Error loading object from file : c:\prj_java\TestAgarder\jasperxml01\addressbook.jasper
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:92)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:515)
    at jasperxml01.Demo3.main(Demo3.java:66)
    Caused by: java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBaseReport; local class incompatible: stream classdesc serialVersionUID = 604, local class serialVersionUID = 10200

    je suppose que le fichier .jasper deja serialisé n'est pas compatible avec le Mien, j'ai essayé avec 3 versions de JDK sans succes

    Merci d'avance
    Philippe

  2. #2
    Membre régulier
    Avatar de couetbis
    Inscrit en
    Juillet 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2005
    Messages : 137
    Points : 106
    Points
    106
    Par défaut
    Salut,
    Le mieux est de partir du fichier .jrxml et non du .jasper qui est en quelque sorte un "fichier compilé".
    Sinon tu as un autre exemple de xmldatasource dans les sources de jasperreports (demo).

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 711
    Points : 936
    Points
    936
    Par défaut
    Bonjour

    J'ai teste sans succes un autre exemple fournis dans les sources XmlDataSourceApp.java avec northwind.xml .
    en taskName j'ai force pdf et en fileName c:\\xx.pdf, Mais
    a priori il a besoin que mon fichier resultat existe déja ??

    Merci d'avance
    Philippe


    package jasperxml01;

    import net.sf.jasperreports.engine.JRException;

    /*
    //www.jaspersoft.com
    *
    * This library is free software; you can redistribute it and/or
    * modify it under the terms of the GNU Lesser General Public
    * License as published by the Free Software Foundation; either
    * version 2.1 of the License, or (at your option) any later version.
    *
    * This library is distributed in the hope that it will be useful,
    * but WITHOUT ANY WARRANTY; without even the implied warranty of
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    * Lesser General Public License for more details.
    *
    * You should have received a copy of the GNU Lesser General Public
    * License along with this library; if not, write to the Free Software
    * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
    *
    * JasperSoft Corporation
    * 185, Berry Street, Suite 6200
    * San Francisco CA 94107
    * http://www.jaspersoft.com
    */
    import java.io.BufferedInputStream;
    import java.io.File;
    import java.io.FileInputStream;

    import net.sf.jasperreports.engine.JRException;
    import net.sf.jasperreports.engine.JRExporterParameter;
    import net.sf.jasperreports.engine.JasperExportManager;
    import net.sf.jasperreports.engine.JasperFillManager;
    import net.sf.jasperreports.engine.JasperPrint;
    import net.sf.jasperreports.engine.JasperPrintManager;
    import net.sf.jasperreports.engine.JasperRunManager;
    import net.sf.jasperreports.engine.data.JRXmlDataSource;
    import net.sf.jasperreports.engine.export.JRCsvExporter;
    import net.sf.jasperreports.engine.export.JRXlsExporter;
    import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
    import net.sf.jasperreports.engine.util.JRLoader;


    /**
    * @author Teodor Danciu (teodord@users.sourceforge.net)
    * @version $Id: XmlDataSourceApp.java,v 1.7 2005/06/27 07:14:40 teodord Exp $
    */
    public class demo2
    {


    /**
    *
    */
    private static final String TASK_FILL = "fill";
    private static final String TASK_PRINT = "print";
    private static final String TASK_PDF = "pdf";
    private static final String TASK_XML = "xml";
    private static final String TASK_XML_EMBED = "xmlEmbed";
    private static final String TASK_HTML = "html";
    private static final String TASK_XLS = "xls";
    private static final String TASK_CSV = "csv";
    private static final String TASK_RUN = "run";


    /**
    *
    */
    public static void main(String[] args)
    {
    String fileName = null;
    String taskName = null;
    /*
    if(args.length == 0)
    {
    usage();
    return;
    }

    int k = 0;
    while ( args.length > k )
    {
    if ( args[k].startsWith("-T") )
    taskName = args[k].substring(2);
    if ( args[k].startsWith("-F") )
    fileName = args[k].substring(2);

    k++;
    }
    */
    taskName ="pdf";
    taskName ="fill";
    fileName="c:\\xx.pdf";

    try
    {
    long start = System.currentTimeMillis();
    if (TASK_FILL.equals(taskName))
    {
    JasperFillManager.fillReportToFile(fileName, null,
    new JRXmlDataSource(new BufferedInputStream(new FileInputStream("northwind.xml")), "/Northwind/Customers"));
    System.err.println("Filling time : " + (System.currentTimeMillis() - start));
    System.exit(0);
    }
    else if (TASK_PRINT.equals(taskName))
    {
    JasperPrintManager.printReport(fileName, true);
    System.err.println("Printing time : " + (System.currentTimeMillis() - start));
    System.exit(0);
    }
    else if (TASK_PDF.equals(taskName))
    {
    JasperExportManager.exportReportToPdfFile(fileName);
    System.err.println("PDF creation time : " + (System.currentTimeMillis() - start));
    System.exit(0);
    }
    else if (TASK_XML.equals(taskName))
    {
    JasperExportManager.exportReportToXmlFile(fileName, false);
    System.err.println("XML creation time : " + (System.currentTimeMillis() - start));
    System.exit(0);
    }
    else if (TASK_XML_EMBED.equals(taskName))
    {
    JasperExportManager.exportReportToXmlFile(fileName, true);
    System.err.println("XML creation time : " + (System.currentTimeMillis() - start));
    System.exit(0);
    }
    else if (TASK_HTML.equals(taskName))
    {
    JasperExportManager.exportReportToHtmlFile(fileName);
    System.err.println("HTML creation time : " + (System.currentTimeMillis() - start));
    System.exit(0);
    }
    else if (TASK_XLS.equals(taskName))
    {
    File sourceFile = new File(fileName);

    JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);

    File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".xls");

    JRXlsExporter exporter = new JRXlsExporter();

    exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
    exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
    exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);

    exporter.exportReport();

    System.err.println("XLS creation time : " + (System.currentTimeMillis() - start));
    System.exit(0);
    }
    else if (TASK_CSV.equals(taskName))
    {
    File sourceFile = new File(fileName);

    JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);

    File destFile = new File(sourceFile.getParent(), jasperPrint.getName() + ".csv");

    JRCsvExporter exporter = new JRCsvExporter();

    exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
    exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());

    exporter.exportReport();

    System.err.println("CSV creation time : " + (System.currentTimeMillis() - start));
    System.exit(0);
    }
    else if (TASK_RUN.equals(taskName))
    {
    JasperRunManager.runReportToPdfFile(fileName, null,
    new JRXmlDataSource(new BufferedInputStream(new FileInputStream("northwind.xml")), "/Northwind/Customers"));
    System.err.println("PDF running time : " + (System.currentTimeMillis() - start));
    System.exit(0);
    }
    else
    {
    usage();
    System.exit(0);
    }
    }
    catch (JRException e)
    {
    e.printStackTrace();
    System.exit(1);
    }
    catch (Exception e)
    {
    e.printStackTrace();
    System.exit(1);
    }
    }


    /**
    *
    */
    private static void usage()
    {
    System.out.println( "XmlDataSourceApp usage:" );
    System.out.println( "\tjava XmlDataSourceApp -Ttask -Ffile" );
    System.out.println( "\tTasks : fill | print | pdf | xml | xmlEmbed | html | xls | csv | run" );
    }
    }



    net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: c:\xx.pdf
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:75)
    at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:443)
    at jasperxml01.demo2.main(demo2.java:101)
    Caused by: java.io.FileNotFoundException: c:\xx.pdf

  4. #4
    Membre régulier
    Avatar de couetbis
    Inscrit en
    Juillet 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2005
    Messages : 137
    Points : 106
    Points
    106
    Par défaut
    Salut,
    Pour la variable fileName tu dois donner le nom du fichier .jrprint.
    Appuie-toi sur ce qu'il y a dans le fichier build.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <target name="pdf" description="Generates a PDF version of the report by converting the .jrprint file.">
    		<java classname="${class.name}">
    			<arg value="pdf"/>
    			<arg value="${file.name}.jrprint"/>
    			<classpath refid="classpath"/>
    		</java>
    	</target>
    Ou bien exécute directement le build.xml (ANT). Il faut exécuter les cible (target) javac, compile, fill puis enfin pdf.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 711
    Points : 936
    Points
    936
    Par défaut
    Bonjour

    J'ai pus compiler et creer deux fichiers .jasper
    CustomerReport.jasper et OrderReport.jasper

    Mais lorsque je fais l'option fill j'ai le message d'erreur
    et.sf.jasperreports.engine.JRException: java.io.UTFDataFormatException: Invalid UTF8 encoding.
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:247)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:226)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:214)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:168)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:152)
    at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:90)
    at jasperxml01.demo2.main(demo2.java:134)


    Merci d'avance philippe

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 711
    Points : 936
    Points
    936
    Par défaut
    Ok c'est bon j'ai change dans les fichiers jrxml UTF8 PAR iso8859_1

    Merci

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

Discussions similaires

  1. impossible de faire fonctionner phppgadmin et pgdmin3
    Par le_ben dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 09/12/2004, 15h27
  2. Réponses: 5
    Dernier message: 02/09/2004, 20h53
  3. Faire fonctionner Flash sous Konqueror
    Par Ultra-FX dans le forum KDE
    Réponses: 2
    Dernier message: 20/06/2004, 19h40
  4. Réponses: 5
    Dernier message: 18/06/2004, 15h59
  5. comment faire fonctionner l'exe sur une autre machine
    Par brian79 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/05/2004, 15h00

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