Creare Reports con OpenOffice e Java.

Creare Reports con OpenOffice e Java. (per eventuali dubbi: rosario.bosco@jugsicilia.it )

    1° Passo: Scaricare le seguenti librerie e includerle nel progetto:

    2° Passo: Creare il template con un semplice file di openOfficeWriter es: template.odt
    Le librerie jooreports, si basano sui tag freemarkers ( http://www.freemarker.org/ ),
    questi tag, vengono interpetati e a sua volta riempiti con dei valori .
    Inseriamo la semplice stringa con dei tag freemarker di esempio nel nostro file template.odt :
    Ciao ${nome} , benvenuto in: ${luogo} .
    (per la sintassi completa : http://www.freemarker.org/docs/index.html )

    3° Passo: Creare una semplice classe Java con il seguente codice:

    try{
    //Creiamo l'hash map da passare all'odt
    Map data = new HashMap();
    //inseriamo i valori, naturalmente dobbiamo prima inserirli nel template es ${nome}
    data.put(“nome”,”Mario Rossi”);
    data.put(“luogo”,”Jug Sicilia”);
    // Carichiamo il template odt precedentemente creato
    DocumentTemplate template =
    new ZippedDocumentTemplate(new FileInputStream(“path completo di template.odt”));
    // Creiamo un file temporaneo
    File odt_tmp = new File(“path_per_un_odt_temporaneo.odt”);
    template.createDocument(data, new FileOutputStream(odt_tmp));
    //avviamo il server openoffice
    DocumentConverter documentConverter = startServer(“localhost”,8100);
    File pdf_finale = new File(“path_per_il_pdf.pdf”);
    // Effettuiamo la richiesta di conversione da odt a pdf al server manager di openoffice
    documentConverter.convert( odt_tmp, pdf_finale);
    }
    catch(Exception e){
    e.printStackTrace();
    }

    metoduzzo startServer da mettere preferibilmente in una classe esterna:

    public DocumentConverter startServer(String host, int port) throws Exception{
    OpenOfficeConnection openOfficeConnection = new SocketOpenOfficeConnection(host,port);
    if(!openOfficeConnection.isConnected())openOfficeConnection.connect();
    DocumentFormatRegistry documentFormatRegistry = new XmlDocumentFormatRegistry();
    DocumentConverter documentConverter=new OpenOfficeDocumentConverter(openOfficeConnection);
    return documentConverter;
    }

    4° Passo: Compilare la classe java sopra creata.

    5° Passo: Startare il server openeoffice (va fatto solo una volta..) da console ms-dos o shell linux:
    /pathDiInstallazioneOpenOffice/soffice -headless -accept="socket,host=localhost,port=8100;urp;StarOffice.ServiceManager"

    se non avete installato openoffice: FATELO ==> http://it.openoffice.org/

    6° Passo: Eseguire la classe java.

JUG Events
Cerca
Login utente
Chi è online
Ci sono attualmente 0 utenti e 1 visitatore collegati.