mercoledì 30 maggio 2012

Ottenere .jrxml da .jasper

Per ottenere una "decompilazione" da .jasper a .jrxml non ho trovato utility disponibili.
Per fortuna le classi di Jasper mettono a disposizione le API per farlo.
Di seguito il codice di una semplice classe con il main che dato un .jasper ottiene il jrxml.
Nel classpath bisogna avere i seguenti jar:



  • commons-logging.jar
  • commons-beanutils-1.7.0.jar
  • commons-collections-3.1.jar
  • jasperreports-2.0.1.jar
  • commons-fileupload.jar
  • commons-digester.jar
  • commons-discovery-0.2.jar
  • jasperreports-extensions1.3.1.jar
  • commons-lang-2.3.jar
  • commons-validator.jar
  • commons-httpclient-3.1.jar
  • commons-codec-1.3.jar



  • package test;
    import net.sf.jasperreports.engine.JRException;
    import net.sf.jasperreports.engine.JasperReport;
    import net.sf.jasperreports.engine.util.JRLoader;
    import net.sf.jasperreports.engine.xml.JRXmlWriter;
    public class JasperToJrxml {
       
        public static void main(String[] args) throws JRException {
                String    sourcePath = "out\\questBDM2.jasper";
                String    destinationPath = "out\\questBDM2.jrxml";   
              try
              {
                  JasperReport report = (JasperReport)JRLoader.loadObject(sourcePath);
                  JRXmlWriter.writeReport(report, destinationPath,"UTF-8");
                  System.out.println("Ok");

              }

              catch(JRException e)

              {
                 e.printStackTrace();

              }
            

           }
        }

    Nessun commento:

    Posta un commento