JugSicilia
                                    Meeting
                                Ragusa, 21/06/2008



Reportistica ...
JugSicilia Meeting
                                   Ragusa, 21/06/2008




 “Reportistica con OpenOffice”

mail: rosario...
JugSicilia Meeting
                                              Ragusa, 21/06/2008

OpenOffice.org
    OpenOffice è una s...
JugSicilia Meeting
                                                Ragusa, 21/06/2008

UNO (Universal Network Objects )
  ...
JugSicilia Meeting
                                              Ragusa, 21/06/2008


UNO
UNO (Universal Network Objects )...
JugSicilia Meeting
                                               Ragusa, 21/06/2008

Perche' reports con OpenOffice?
    ...
JugSicilia Meeting
                                              Ragusa, 21/06/2008

 Alcune librerie per realizzare dei r...
JugSicilia Meeting
                                              Ragusa, 21/06/2008

JooReports
    è una libreria Java pe...
JugSicilia Meeting
                                                 Ragusa, 21/06/2008

JodConverter
     JODConverter(Jav...
JugSicilia Meeting
                                               Ragusa, 21/06/2008

FreeMarker
    FreeMarker è un quot;...
JugSicilia Meeting
                                            Ragusa, 21/06/2008

Esempio /1
Creare il template con un se...
JugSicilia Meeting
                                        Ragusa, 21/06/2008

Esempio /2




             Rosario Bosco –...
JugSicilia Meeting
                                        Ragusa, 21/06/2008

Esempio /3




             Rosario Bosco –...
JugSicilia Meeting
                                                      Ragusa, 21/06/2008

Esempio /4
    Startare il se...
JugSicilia Meeting
                                             Ragusa, 21/06/2008

JopenDocument(www.jopendocument.org)
 ...
JugSicilia Meeting
                                                     Ragusa, 21/06/2008

Esempio 1 JopenDocument
 File ...
JugSicilia Meeting
                                                        Ragusa, 21/06/2008

Esempio 2 JopenDocument:
Me...
JugSicilia Meeting
                                                      Ragusa, 21/06/2008

Esempio 3 Generazione Pdf
 / ...
JugSicilia Meeting
                                                  Ragusa, 21/06/2008

Riferimenti
    OpenOffice.org ht...
JugSicilia Meeting
                                 Ragusa, 21/06/2008




  Grazie per l'attenzione
rosario.bosco@codebas...
Upcoming SlideShare
Loading in...5
×

Open Office & Java

2,814

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,814
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
30
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "Open Office & Java"

  1. 1. JugSicilia Meeting Ragusa, 21/06/2008 Reportistica con http://www.codebase.it OpenOffice Relatore: Dott. Rosario Bosco rosario.bosco@codebase.it
  2. 2. JugSicilia Meeting Ragusa, 21/06/2008 “Reportistica con OpenOffice” mail: rosario.bosco@codebase.it site: http://www.codebase.it Rosario Bosco – Codebase http://www.codebase.it
  3. 3. JugSicilia Meeting Ragusa, 21/06/2008 OpenOffice.org OpenOffice è una suite di Sun Microsystems, ● pensata per fornire un ottimo prodotto libero, multipiattaforma, e compatibile con i prodotti commerciali attualmente dominanti in questo settore (es: Microsoft Office) Rosario Bosco – Codebase http://www.codebase.it
  4. 4. JugSicilia Meeting Ragusa, 21/06/2008 UNO (Universal Network Objects ) UNO è il component model di OpenOffice.org, ● offre interoperabilità tra diversi linguaggi di programmazione: python, c++, java. Rosario Bosco – Codebase http://www.codebase.it
  5. 5. JugSicilia Meeting Ragusa, 21/06/2008 UNO UNO (Universal Network Objects ) Le specifiche sono definite in IDL (Interface ● Definition Language), in modo analogo a quanto avviene in CORBA: UNO ne rappresenta quasi una versione non distribuita. Rosario Bosco – Codebase http://www.codebase.it
  6. 6. JugSicilia Meeting Ragusa, 21/06/2008 Perche' reports con OpenOffice? Massima flessibilità per l'utente: l'utente ● finale può “modificare” o “costruire” i propri template, le parti dinamiche o cmq non modificabili possono essere “bloccate” con i campi di testo. Massima flessibilità per i programmatori: il ● programmatore può fare tutto, si possono pensare dei veri e propri “motori” di reportistica. Rosario Bosco – Codebase http://www.codebase.it
  7. 7. JugSicilia Meeting Ragusa, 21/06/2008 Alcune librerie per realizzare dei reports: JooReports, JodConverter, FreeMarker JooReport http://www.artofsolving.com/jooreports JodConverter http://www.artofsolving.com/opensource/jodconverter FreeMarker http://freemarker.sourceforge.net/ Rosario Bosco – Codebase http://www.codebase.it
  8. 8. JugSicilia Meeting Ragusa, 21/06/2008 JooReports è una libreria Java per la generazione di ● documenti dinamici partendo da template prima definiti Rosario Bosco – Codebase http://www.codebase.it
  9. 9. JugSicilia Meeting Ragusa, 21/06/2008 JodConverter JODConverter(Java OpenDocument Converter), ● converte documenti office in differenti formati: Word to OpenDocument Text (odt) OpenDocument Text (odt) to Word Excel to OpenDocument Spreadsheet (ods); OpenDocument Spreadsheet (ods) to Excel PowerPoint to OpenDocument Presentation (odp); OpenDocument Presentation (odp) to PowerPoint OpenDocument (Text, Spreadsheet, Presentation) to PDF Word to PDF; Excel to PDF; PowerPoint to PDF RTF to PDF; Rosario Bosco – Codebase http://www.codebase.it
  10. 10. JugSicilia Meeting Ragusa, 21/06/2008 FreeMarker FreeMarker è un quot;template enginequot;; un tool ● generico per generare output di testo Implementa il modello MVC. ● Sono dei veri e propri tag che vengono ● interpetati e a sua volta riempiti con dei valori Rosario Bosco – Codebase http://www.codebase.it
  11. 11. JugSicilia Meeting Ragusa, 21/06/2008 Esempio /1 Creare il template con un semplice file di openOfficeWriter es: template.odt Inseriamo la semplice stringa con dei tag freemarker di esempio nel nostro file template.odt : Ciao ${nome} , benvenuto al ${luogo} Rosario Bosco – Codebase http://www.codebase.it
  12. 12. JugSicilia Meeting Ragusa, 21/06/2008 Esempio /2 Rosario Bosco – Codebase http://www.codebase.it
  13. 13. JugSicilia Meeting Ragusa, 21/06/2008 Esempio /3 Rosario Bosco – Codebase http://www.codebase.it
  14. 14. JugSicilia Meeting Ragusa, 21/06/2008 Esempio /4 Startare il server openoffice (va fatto solo una ● volta..) da console ms-dos o shell linux: /pathDiInstallazioneOpenOffice/soffice -headless -accept=quot;socket,host=localhost,port=8100;urp;StarOffice.ServiceManagerquot; Eseguire la classe Java ● Output: ● Ciao Mario Rossi , benvenuto al Jug Sicilia Rosario Bosco – Codebase http://www.codebase.it
  15. 15. JugSicilia Meeting Ragusa, 21/06/2008 JopenDocument(www.jopendocument.org) Con JopenDocument molte operazioni ● vengono semplifiate, gli esempi precedentemente mostrati possono essere riefettuati con meno passi Rosario Bosco – Codebase http://www.codebase.it
  16. 16. JugSicilia Meeting Ragusa, 21/06/2008 Esempio 1 JopenDocument File templateFile = new File(quot;template/test.odtquot;); File outFile = new File(quot;out.odtquot;); JavaScriptFileTemplate template = new JavaScriptFileTemplate(templateFile); // Fill with sample values. template.setField(quot;totoquot;, quot;value set using setField()quot;); List<Map<String, String>> months = new ArrayList<Map<String, String>>(); months.add(createMap(quot;Januaryquot;, quot;-12quot;, quot;3quot;)); template.setField(quot;monthsquot;, months); template.saveAs(outFile); OOUtils.open(outFile); Rosario Bosco – Codebase http://www.codebase.it
  17. 17. JugSicilia Meeting Ragusa, 21/06/2008 Esempio 2 JopenDocument: Merge di due file // Load 2 text documents File file1 = new File(quot;template/ooo2flyer_p1.odtquot;); OOSingleXMLDocument p1 = OOSingleXMLDocument.createFromFile(file1); File file2 = new File(quot;template/ooo2flyer_p2.odtquot;); OOSingleXMLDocument p2 = OOSingleXMLDocument.createFromFile(file2); // Concatenate them p1.add(p2); // Save to file and Open the document with OpenOffice.org ! OOUtils.open(p1.saveAs(new File(quot;cat.odtquot;))); Rosario Bosco – Codebase http://www.codebase.it
  18. 18. JugSicilia Meeting Ragusa, 21/06/2008 Esempio 3 Generazione Pdf / Load the ODS file final OpenDocument doc = new OpenDocument(); doc.loadFrom(quot;template/invoice.odsquot;); // Open the PDF document Document document = new Document(PageSize.A4); File outFile = new File(quot;invoice.pdfquot;); PdfDocument pdf = new PdfDocument(); document.addDocListener(pdf); FileOutputStream fileOutputStream = new FileOutputStream(outFile); PdfWriter writer = PdfWriter.getInstance(pdf, fileOutputStream); pdf.addWriter(writer); Rosario Bosco – Codebase http://www.codebase.it
  19. 19. JugSicilia Meeting Ragusa, 21/06/2008 Riferimenti OpenOffice.org http://www.openoffice.org ● Jooreports http://www.artofsolving.com/jooreports ● Jodconverter ● http://www.artofsolving.com/opensource/jodconverter FreeMarker http://freemarker.sourceforge.net/ ● JopenDocumen http://www.jopendocument.org/ ● The Java EE 5 Tutorial ● http://java.sun.com/javaee/5/docs/tutorial/doc/index.html Rosario Bosco – Codebase http://www.codebase.it
  20. 20. JugSicilia Meeting Ragusa, 21/06/2008 Grazie per l'attenzione rosario.bosco@codebase.it Rosario Bosco – Codebase http://www.codebase.it
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×