SlideShare a Scribd company logo
ODF Toolkit ODF Support For .NET With AODL Lars Behrmann Sun Microsystems
About AODL .NET module of the ODF Toolkit Project ODF implementation in pure C# Designed straight forward Hides the complexity of ODF Supports text and spreadsheet documents Minimum requirement: .NET 1.1 framework Can be used with Mono.
ODF Support For .NET Applications Why ? Business applications have to handle documents. A lot of these are developed with .NET. ODF is an accepted ISO standard. ODF is a XML file format. XML guarantees future accessibility.
Easy To Use Minimal coding effort. Requires only a basic knowledge of general Document structures like: All documents consists of content and styles. Contents can be tables, paragraphs, ... . Contents could contain other contents. Styles are used to format contents. With AODL these contents and styles got a real name.
Supported Document Types OpenDocument Text Documents Create, Open, Modify and Save OpenDocument Spreadsheet Documents Create, Open, Modify and Save All documents shares the contents and styles  One implementation for Tables, Paragraphs, Images, ... .
Import And Export Filter AODL offers two interfaces for import and export IImport IExport Example implementation: The experimental PDF export.
AODL UML Class Diagram
Create New Documents //Create a new text document TextDocument document =  new  TextDocument () ; document.New () ; //Create a standard paragraph using the ParagraphBuilder Paragraph paragraph =  ParagraphBuilder.CreateStandardTextParagraph(document); //Add some simple text paragraph.TextContent.Add( new  SimpleText ( document, "OpenOffice.org Conference" ) ) ; //Add the paragraph to the document document.Content.Add ( paragraph ) ; //Save   document.SaveTo ( "simple.odt" ) ;
Modify Existing Documents //Create a new text document object TextDocument document  =   new  TextDocument () ; //Load a text document document.Load (" OOoCon2007.odt" ) ; //Search for a text area control with the id = headline ODFTextArea headlineCtl =  document.FindControlById (" headline ") as  ODFTextArea; if ( headlineCtl  != null) { //Set a new value for the found control headlineCtl.CurrentValue  =  "OpenOffice.org Conference " ; } //Save modified document document.SaveTo (" OOoCon2007.odt" ) ;
A Real World Scenario Assume you already have a shop software.  Now, this software should be able to create bills for your customer. What will be the required steps ?
A Real World Scenario – Todo's Outside your application: Create an OpenDocument text document as a template. Use placeholder to mark insert positions. Add the document as application resource.
A Real World Scenario – Todo's Inside your application: Reference the AODL assembly.  Load your “template” file.  Find the corresponding placeholder.  Replace them with the data from your application.  Save the file.
A Real World Scenario - Result
Future Steps Future steps will be ... Support for presentation and draw documents ... Performance optimization ... Usability optimization ... Synchronization with other modules like odf4j, ... etc.
Presentation End Now, Open Discussion ...  Lars Behrmann Sun Microsystems
Ad

More Related Content

What's hot (19)

XML and XML Applications - Lecture 04 - Web Information Systems (WE-DINF-11912)
XML and XML Applications - Lecture 04 - Web Information Systems (WE-DINF-11912)XML and XML Applications - Lecture 04 - Web Information Systems (WE-DINF-11912)
XML and XML Applications - Lecture 04 - Web Information Systems (WE-DINF-11912)
Beat Signer
 
Xml applications
Xml applicationsXml applications
Xml applications
Nabahat Tahir
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
Fazli Kabashi
 
Xml
XmlXml
Xml
Dr. C.V. Suresh Babu
 
Dom parser
Dom parserDom parser
Dom parser
sana mateen
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
Prabu U
 
XML Databases
XML DatabasesXML Databases
XML Databases
Jussi Pohjolainen
 
Xml basics for beginning
Xml basics for beginningXml basics for beginning
Xml basics for beginning
Ahmad Awsaf-uz-zaman
 
6 311 W
6 311 W6 311 W
6 311 W
S Arunima
 
Introduction to XML and Databases
Introduction to XML and DatabasesIntroduction to XML and Databases
Introduction to XML and Databases
torp42
 
DOM and SAX
DOM and SAXDOM and SAX
DOM and SAX
Jussi Pohjolainen
 
Basics of XML
Basics of XMLBasics of XML
Basics of XML
indiangarg
 
Building XML Based Applications
Building XML Based ApplicationsBuilding XML Based Applications
Building XML Based Applications
Prabu U
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4
Stefano Paluello
 
Xml Presentation-3
Xml Presentation-3Xml Presentation-3
Xml Presentation-3
Sudharsan S
 
XML Performance
XML PerformanceXML Performance
XML Performance
Alexandro Colorado
 
XML and Databases
XML and DatabasesXML and Databases
XML and Databases
Cittrex
 
Xml
XmlXml
Xml
Abhishek Kesharwani
 
Xml databases
Xml databasesXml databases
Xml databases
Srinivasan R
 

Similar to ODF Toolkit with .NET Support (20)

The Big Documentation Extravaganza
The Big Documentation ExtravaganzaThe Big Documentation Extravaganza
The Big Documentation Extravaganza
Stephan Schmidt
 
Building XML-based content for Eclipse Help a real experience
Building XML-based content for Eclipse Help a real experienceBuilding XML-based content for Eclipse Help a real experience
Building XML-based content for Eclipse Help a real experience
gustavoeliano
 
epicenter2010 Open Xml
epicenter2010   Open Xmlepicenter2010   Open Xml
epicenter2010 Open Xml
Craig Murphy
 
ODF Mashups
ODF MashupsODF Mashups
ODF Mashups
Alexandro Colorado
 
Phpconf taiwan-2012
Phpconf taiwan-2012Phpconf taiwan-2012
Phpconf taiwan-2012
Hash Lin
 
Iphone programming: Core Data Tutorial for iOS
Iphone programming: Core Data Tutorial for iOSIphone programming: Core Data Tutorial for iOS
Iphone programming: Core Data Tutorial for iOS
Kenny Nguyen
 
HTML (Hyper Text Markup Language) Project
HTML (Hyper Text Markup Language) Project HTML (Hyper Text Markup Language) Project
HTML (Hyper Text Markup Language) Project
Ankit Gupta
 
ILUG 2007 - Notes and Office Integration
ILUG 2007 - Notes and Office IntegrationILUG 2007 - Notes and Office Integration
ILUG 2007 - Notes and Office Integration
John Head
 
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
Suite Solutions
 
Automating API Documentation
Automating API DocumentationAutomating API Documentation
Automating API Documentation
Selvakumar T S
 
Introduction To Docbook 4 .5 Authoring
Introduction To Docbook 4 .5   AuthoringIntroduction To Docbook 4 .5   Authoring
Introduction To Docbook 4 .5 Authoring
Viswanath J
 
Processing XML with Java
Processing XML with JavaProcessing XML with Java
Processing XML with Java
BG Java EE Course
 
Doc2model- Eclipse Con 2010
Doc2model- Eclipse Con 2010Doc2model- Eclipse Con 2010
Doc2model- Eclipse Con 2010
rfaudou
 
CustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputsCustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputs
Suite Solutions
 
HTML5
HTML5HTML5
HTML5
Hatem Mahmoud
 
VSTO
VSTOVSTO
VSTO
Pham Quang
 
Unit 1.2 Introduction to Programming
Unit 1.2 Introduction to Programming Unit 1.2 Introduction to Programming
Unit 1.2 Introduction to Programming
Intan Jameel
 
ODF Template Engine
ODF Template EngineODF Template Engine
ODF Template Engine
Alexandro Colorado
 
Automatic exporting document
Automatic exporting documentAutomatic exporting document
Automatic exporting document
Son Nguyen
 
Global objects in Node.pdf
Global objects in Node.pdfGlobal objects in Node.pdf
Global objects in Node.pdf
SudhanshiBakre1
 
The Big Documentation Extravaganza
The Big Documentation ExtravaganzaThe Big Documentation Extravaganza
The Big Documentation Extravaganza
Stephan Schmidt
 
Building XML-based content for Eclipse Help a real experience
Building XML-based content for Eclipse Help a real experienceBuilding XML-based content for Eclipse Help a real experience
Building XML-based content for Eclipse Help a real experience
gustavoeliano
 
epicenter2010 Open Xml
epicenter2010   Open Xmlepicenter2010   Open Xml
epicenter2010 Open Xml
Craig Murphy
 
Phpconf taiwan-2012
Phpconf taiwan-2012Phpconf taiwan-2012
Phpconf taiwan-2012
Hash Lin
 
Iphone programming: Core Data Tutorial for iOS
Iphone programming: Core Data Tutorial for iOSIphone programming: Core Data Tutorial for iOS
Iphone programming: Core Data Tutorial for iOS
Kenny Nguyen
 
HTML (Hyper Text Markup Language) Project
HTML (Hyper Text Markup Language) Project HTML (Hyper Text Markup Language) Project
HTML (Hyper Text Markup Language) Project
Ankit Gupta
 
ILUG 2007 - Notes and Office Integration
ILUG 2007 - Notes and Office IntegrationILUG 2007 - Notes and Office Integration
ILUG 2007 - Notes and Office Integration
John Head
 
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
Suite Solutions
 
Automating API Documentation
Automating API DocumentationAutomating API Documentation
Automating API Documentation
Selvakumar T S
 
Introduction To Docbook 4 .5 Authoring
Introduction To Docbook 4 .5   AuthoringIntroduction To Docbook 4 .5   Authoring
Introduction To Docbook 4 .5 Authoring
Viswanath J
 
Doc2model- Eclipse Con 2010
Doc2model- Eclipse Con 2010Doc2model- Eclipse Con 2010
Doc2model- Eclipse Con 2010
rfaudou
 
CustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputsCustomizingStyleSheetsForHTMLOutputs
CustomizingStyleSheetsForHTMLOutputs
Suite Solutions
 
Unit 1.2 Introduction to Programming
Unit 1.2 Introduction to Programming Unit 1.2 Introduction to Programming
Unit 1.2 Introduction to Programming
Intan Jameel
 
Automatic exporting document
Automatic exporting documentAutomatic exporting document
Automatic exporting document
Son Nguyen
 
Global objects in Node.pdf
Global objects in Node.pdfGlobal objects in Node.pdf
Global objects in Node.pdf
SudhanshiBakre1
 
Ad

More from Alexandro Colorado (20)

Bitcuners revolucion blockchain
Bitcuners revolucion blockchainBitcuners revolucion blockchain
Bitcuners revolucion blockchain
Alexandro Colorado
 
Presentacion Krita
Presentacion KritaPresentacion Krita
Presentacion Krita
Alexandro Colorado
 
Bitcuners porque bitcoins
Bitcuners porque bitcoinsBitcuners porque bitcoins
Bitcuners porque bitcoins
Alexandro Colorado
 
ChamiloCon Enseñando con Tecnología
ChamiloCon Enseñando con TecnologíaChamiloCon Enseñando con Tecnología
ChamiloCon Enseñando con Tecnología
Alexandro Colorado
 
Curso de desarrollo web para principiantes
Curso de desarrollo web para principiantesCurso de desarrollo web para principiantes
Curso de desarrollo web para principiantes
Alexandro Colorado
 
ChamiloCon: Recursos de Software Libre
ChamiloCon: Recursos de Software Libre ChamiloCon: Recursos de Software Libre
ChamiloCon: Recursos de Software Libre
Alexandro Colorado
 
Krita - Tu tambien puedes pintar un arbol Feliz
Krita - Tu tambien puedes pintar un arbol FelizKrita - Tu tambien puedes pintar un arbol Feliz
Krita - Tu tambien puedes pintar un arbol Feliz
Alexandro Colorado
 
Gobernancia y particionacion en comunidades de Software Libre v2
Gobernancia y particionacion en comunidades de Software Libre v2Gobernancia y particionacion en comunidades de Software Libre v2
Gobernancia y particionacion en comunidades de Software Libre v2
Alexandro Colorado
 
gcloud
gcloudgcloud
gcloud
Alexandro Colorado
 
Blender - FLISOL Cancun 2014
Blender - FLISOL Cancun 2014Blender - FLISOL Cancun 2014
Blender - FLISOL Cancun 2014
Alexandro Colorado
 
The Hitchhicker's Guide to Opensource
The Hitchhicker's Guide to OpensourceThe Hitchhicker's Guide to Opensource
The Hitchhicker's Guide to Opensource
Alexandro Colorado
 
OpenERP: El ecosistema de negocios
OpenERP: El ecosistema de negociosOpenERP: El ecosistema de negocios
OpenERP: El ecosistema de negocios
Alexandro Colorado
 
Aprendiendo GnuPG
Aprendiendo GnuPGAprendiendo GnuPG
Aprendiendo GnuPG
Alexandro Colorado
 
Catalogo decursos
Catalogo decursosCatalogo decursos
Catalogo decursos
Alexandro Colorado
 
Practicas virtuales v2.2
Practicas virtuales v2.2Practicas virtuales v2.2
Practicas virtuales v2.2
Alexandro Colorado
 
Introducción al curso de Extensiones de OpenOffice
Introducción al curso de Extensiones de OpenOfficeIntroducción al curso de Extensiones de OpenOffice
Introducción al curso de Extensiones de OpenOffice
Alexandro Colorado
 
Comunidades software libre
Comunidades software libreComunidades software libre
Comunidades software libre
Alexandro Colorado
 
Practicas virtuales v2
Practicas virtuales v2Practicas virtuales v2
Practicas virtuales v2
Alexandro Colorado
 
Practicas virtuales
Practicas virtualesPracticas virtuales
Practicas virtuales
Alexandro Colorado
 
Economia digital
Economia digitalEconomia digital
Economia digital
Alexandro Colorado
 
Bitcuners revolucion blockchain
Bitcuners revolucion blockchainBitcuners revolucion blockchain
Bitcuners revolucion blockchain
Alexandro Colorado
 
ChamiloCon Enseñando con Tecnología
ChamiloCon Enseñando con TecnologíaChamiloCon Enseñando con Tecnología
ChamiloCon Enseñando con Tecnología
Alexandro Colorado
 
Curso de desarrollo web para principiantes
Curso de desarrollo web para principiantesCurso de desarrollo web para principiantes
Curso de desarrollo web para principiantes
Alexandro Colorado
 
ChamiloCon: Recursos de Software Libre
ChamiloCon: Recursos de Software Libre ChamiloCon: Recursos de Software Libre
ChamiloCon: Recursos de Software Libre
Alexandro Colorado
 
Krita - Tu tambien puedes pintar un arbol Feliz
Krita - Tu tambien puedes pintar un arbol FelizKrita - Tu tambien puedes pintar un arbol Feliz
Krita - Tu tambien puedes pintar un arbol Feliz
Alexandro Colorado
 
Gobernancia y particionacion en comunidades de Software Libre v2
Gobernancia y particionacion en comunidades de Software Libre v2Gobernancia y particionacion en comunidades de Software Libre v2
Gobernancia y particionacion en comunidades de Software Libre v2
Alexandro Colorado
 
The Hitchhicker's Guide to Opensource
The Hitchhicker's Guide to OpensourceThe Hitchhicker's Guide to Opensource
The Hitchhicker's Guide to Opensource
Alexandro Colorado
 
OpenERP: El ecosistema de negocios
OpenERP: El ecosistema de negociosOpenERP: El ecosistema de negocios
OpenERP: El ecosistema de negocios
Alexandro Colorado
 
Introducción al curso de Extensiones de OpenOffice
Introducción al curso de Extensiones de OpenOfficeIntroducción al curso de Extensiones de OpenOffice
Introducción al curso de Extensiones de OpenOffice
Alexandro Colorado
 
Ad

Recently uploaded (20)

Petslify Turns Pet Photos into Hug-Worthy Memories
Petslify Turns Pet Photos into Hug-Worthy MemoriesPetslify Turns Pet Photos into Hug-Worthy Memories
Petslify Turns Pet Photos into Hug-Worthy Memories
Petslify
 
Cloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Cloud Stream Part II Mobile Hub V1 Hub Agency.pdfCloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Cloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Brij Consulting, LLC
 
Affinity.co Lifecycle Marketing Presentation
Affinity.co Lifecycle Marketing PresentationAffinity.co Lifecycle Marketing Presentation
Affinity.co Lifecycle Marketing Presentation
omiller199514
 
INTRODUCTION OF MANAGEMENT.pdf CA SUVIDHA CHAPLOT
INTRODUCTION OF MANAGEMENT.pdf CA SUVIDHA CHAPLOTINTRODUCTION OF MANAGEMENT.pdf CA SUVIDHA CHAPLOT
INTRODUCTION OF MANAGEMENT.pdf CA SUVIDHA CHAPLOT
CA Suvidha Chaplot
 
BeMetals_Presentation_May_2025 .pdf
BeMetals_Presentation_May_2025      .pdfBeMetals_Presentation_May_2025      .pdf
BeMetals_Presentation_May_2025 .pdf
DerekIwanaka2
 
CGG Deck English - Apr 2025-edit (1).pptx
CGG Deck English - Apr 2025-edit (1).pptxCGG Deck English - Apr 2025-edit (1).pptx
CGG Deck English - Apr 2025-edit (1).pptx
China_Gold_International_Resources
 
Yuriy Chapran: Zero Trust and Beyond: OpenVPN’s Role in Next-Gen Network Secu...
Yuriy Chapran: Zero Trust and Beyond: OpenVPN’s Role in Next-Gen Network Secu...Yuriy Chapran: Zero Trust and Beyond: OpenVPN’s Role in Next-Gen Network Secu...
Yuriy Chapran: Zero Trust and Beyond: OpenVPN’s Role in Next-Gen Network Secu...
Lviv Startup Club
 
Kiran Flemish - A Dynamic Musician
Kiran  Flemish  -  A   Dynamic  MusicianKiran  Flemish  -  A   Dynamic  Musician
Kiran Flemish - A Dynamic Musician
Kiran Flemish
 
Harnessing Hyper-Localisation: A New Era in Retail Strategy
Harnessing Hyper-Localisation: A New Era in Retail StrategyHarnessing Hyper-Localisation: A New Era in Retail Strategy
Harnessing Hyper-Localisation: A New Era in Retail Strategy
RUPAL AGARWAL
 
2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf
2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf
2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf
ThiNgc22
 
Network Detection and Response (NDR): The Future of Intelligent Cybersecurity
Network Detection and Response (NDR): The Future of Intelligent CybersecurityNetwork Detection and Response (NDR): The Future of Intelligent Cybersecurity
Network Detection and Response (NDR): The Future of Intelligent Cybersecurity
GauriKale30
 
EquariusAI analytics for business water risk
EquariusAI analytics for business water riskEquariusAI analytics for business water risk
EquariusAI analytics for business water risk
Peter Adriaens
 
www.visualmedia.com digital markiting (1).pptx
www.visualmedia.com digital markiting (1).pptxwww.visualmedia.com digital markiting (1).pptx
www.visualmedia.com digital markiting (1).pptx
Davinder Singh
 
The Peter Cowley Entrepreneurship Event Master 30th.pdf
The Peter Cowley Entrepreneurship Event Master 30th.pdfThe Peter Cowley Entrepreneurship Event Master 30th.pdf
The Peter Cowley Entrepreneurship Event Master 30th.pdf
Richard Lucas
 
PREDICTION%20AND%20ANALYSIS%20OF%20ADMET%20PROPERTIES%20OF%20NEW%20MOLECULE%2...
PREDICTION%20AND%20ANALYSIS%20OF%20ADMET%20PROPERTIES%20OF%20NEW%20MOLECULE%2...PREDICTION%20AND%20ANALYSIS%20OF%20ADMET%20PROPERTIES%20OF%20NEW%20MOLECULE%2...
PREDICTION%20AND%20ANALYSIS%20OF%20ADMET%20PROPERTIES%20OF%20NEW%20MOLECULE%2...
AMITKUMARVERMA479091
 
Top 5 Mistakes to Avoid When Writing a Job Application
Top 5 Mistakes to Avoid When Writing a Job ApplicationTop 5 Mistakes to Avoid When Writing a Job Application
Top 5 Mistakes to Avoid When Writing a Job Application
Red Tape Busters
 
Comments on Cloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Comments on Cloud Stream Part II Mobile Hub V1 Hub Agency.pdfComments on Cloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Comments on Cloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Brij Consulting, LLC
 
Influence of Career Development on Retention of Employees in Private Univers...
Influence of Career Development on Retention of  Employees in Private Univers...Influence of Career Development on Retention of  Employees in Private Univers...
Influence of Career Development on Retention of Employees in Private Univers...
publication11
 
TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...
TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...
TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...
Kirill Klip
 
Smart Home Market Size, Growth and Report (2025-2034)
Smart Home Market Size, Growth and Report (2025-2034)Smart Home Market Size, Growth and Report (2025-2034)
Smart Home Market Size, Growth and Report (2025-2034)
GeorgeButtler
 
Petslify Turns Pet Photos into Hug-Worthy Memories
Petslify Turns Pet Photos into Hug-Worthy MemoriesPetslify Turns Pet Photos into Hug-Worthy Memories
Petslify Turns Pet Photos into Hug-Worthy Memories
Petslify
 
Cloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Cloud Stream Part II Mobile Hub V1 Hub Agency.pdfCloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Cloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Brij Consulting, LLC
 
Affinity.co Lifecycle Marketing Presentation
Affinity.co Lifecycle Marketing PresentationAffinity.co Lifecycle Marketing Presentation
Affinity.co Lifecycle Marketing Presentation
omiller199514
 
INTRODUCTION OF MANAGEMENT.pdf CA SUVIDHA CHAPLOT
INTRODUCTION OF MANAGEMENT.pdf CA SUVIDHA CHAPLOTINTRODUCTION OF MANAGEMENT.pdf CA SUVIDHA CHAPLOT
INTRODUCTION OF MANAGEMENT.pdf CA SUVIDHA CHAPLOT
CA Suvidha Chaplot
 
BeMetals_Presentation_May_2025 .pdf
BeMetals_Presentation_May_2025      .pdfBeMetals_Presentation_May_2025      .pdf
BeMetals_Presentation_May_2025 .pdf
DerekIwanaka2
 
Yuriy Chapran: Zero Trust and Beyond: OpenVPN’s Role in Next-Gen Network Secu...
Yuriy Chapran: Zero Trust and Beyond: OpenVPN’s Role in Next-Gen Network Secu...Yuriy Chapran: Zero Trust and Beyond: OpenVPN’s Role in Next-Gen Network Secu...
Yuriy Chapran: Zero Trust and Beyond: OpenVPN’s Role in Next-Gen Network Secu...
Lviv Startup Club
 
Kiran Flemish - A Dynamic Musician
Kiran  Flemish  -  A   Dynamic  MusicianKiran  Flemish  -  A   Dynamic  Musician
Kiran Flemish - A Dynamic Musician
Kiran Flemish
 
Harnessing Hyper-Localisation: A New Era in Retail Strategy
Harnessing Hyper-Localisation: A New Era in Retail StrategyHarnessing Hyper-Localisation: A New Era in Retail Strategy
Harnessing Hyper-Localisation: A New Era in Retail Strategy
RUPAL AGARWAL
 
2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf
2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf
2_English_Vocabulary_In_Use_Pre-Intermediate_Cambridge_-_Fourth_Edition (1).pdf
ThiNgc22
 
Network Detection and Response (NDR): The Future of Intelligent Cybersecurity
Network Detection and Response (NDR): The Future of Intelligent CybersecurityNetwork Detection and Response (NDR): The Future of Intelligent Cybersecurity
Network Detection and Response (NDR): The Future of Intelligent Cybersecurity
GauriKale30
 
EquariusAI analytics for business water risk
EquariusAI analytics for business water riskEquariusAI analytics for business water risk
EquariusAI analytics for business water risk
Peter Adriaens
 
www.visualmedia.com digital markiting (1).pptx
www.visualmedia.com digital markiting (1).pptxwww.visualmedia.com digital markiting (1).pptx
www.visualmedia.com digital markiting (1).pptx
Davinder Singh
 
The Peter Cowley Entrepreneurship Event Master 30th.pdf
The Peter Cowley Entrepreneurship Event Master 30th.pdfThe Peter Cowley Entrepreneurship Event Master 30th.pdf
The Peter Cowley Entrepreneurship Event Master 30th.pdf
Richard Lucas
 
PREDICTION%20AND%20ANALYSIS%20OF%20ADMET%20PROPERTIES%20OF%20NEW%20MOLECULE%2...
PREDICTION%20AND%20ANALYSIS%20OF%20ADMET%20PROPERTIES%20OF%20NEW%20MOLECULE%2...PREDICTION%20AND%20ANALYSIS%20OF%20ADMET%20PROPERTIES%20OF%20NEW%20MOLECULE%2...
PREDICTION%20AND%20ANALYSIS%20OF%20ADMET%20PROPERTIES%20OF%20NEW%20MOLECULE%2...
AMITKUMARVERMA479091
 
Top 5 Mistakes to Avoid When Writing a Job Application
Top 5 Mistakes to Avoid When Writing a Job ApplicationTop 5 Mistakes to Avoid When Writing a Job Application
Top 5 Mistakes to Avoid When Writing a Job Application
Red Tape Busters
 
Comments on Cloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Comments on Cloud Stream Part II Mobile Hub V1 Hub Agency.pdfComments on Cloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Comments on Cloud Stream Part II Mobile Hub V1 Hub Agency.pdf
Brij Consulting, LLC
 
Influence of Career Development on Retention of Employees in Private Univers...
Influence of Career Development on Retention of  Employees in Private Univers...Influence of Career Development on Retention of  Employees in Private Univers...
Influence of Career Development on Retention of Employees in Private Univers...
publication11
 
TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...
TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...
TNR Gold Investor Summary - Building The Green Energy Metals Royalty and Gold...
Kirill Klip
 
Smart Home Market Size, Growth and Report (2025-2034)
Smart Home Market Size, Growth and Report (2025-2034)Smart Home Market Size, Growth and Report (2025-2034)
Smart Home Market Size, Growth and Report (2025-2034)
GeorgeButtler
 

ODF Toolkit with .NET Support

  • 1. ODF Toolkit ODF Support For .NET With AODL Lars Behrmann Sun Microsystems
  • 2. About AODL .NET module of the ODF Toolkit Project ODF implementation in pure C# Designed straight forward Hides the complexity of ODF Supports text and spreadsheet documents Minimum requirement: .NET 1.1 framework Can be used with Mono.
  • 3. ODF Support For .NET Applications Why ? Business applications have to handle documents. A lot of these are developed with .NET. ODF is an accepted ISO standard. ODF is a XML file format. XML guarantees future accessibility.
  • 4. Easy To Use Minimal coding effort. Requires only a basic knowledge of general Document structures like: All documents consists of content and styles. Contents can be tables, paragraphs, ... . Contents could contain other contents. Styles are used to format contents. With AODL these contents and styles got a real name.
  • 5. Supported Document Types OpenDocument Text Documents Create, Open, Modify and Save OpenDocument Spreadsheet Documents Create, Open, Modify and Save All documents shares the contents and styles One implementation for Tables, Paragraphs, Images, ... .
  • 6. Import And Export Filter AODL offers two interfaces for import and export IImport IExport Example implementation: The experimental PDF export.
  • 7. AODL UML Class Diagram
  • 8. Create New Documents //Create a new text document TextDocument document = new TextDocument () ; document.New () ; //Create a standard paragraph using the ParagraphBuilder Paragraph paragraph = ParagraphBuilder.CreateStandardTextParagraph(document); //Add some simple text paragraph.TextContent.Add( new SimpleText ( document, "OpenOffice.org Conference" ) ) ; //Add the paragraph to the document document.Content.Add ( paragraph ) ; //Save document.SaveTo ( "simple.odt" ) ;
  • 9. Modify Existing Documents //Create a new text document object TextDocument document = new TextDocument () ; //Load a text document document.Load (" OOoCon2007.odt" ) ; //Search for a text area control with the id = headline ODFTextArea headlineCtl = document.FindControlById (" headline ") as ODFTextArea; if ( headlineCtl != null) { //Set a new value for the found control headlineCtl.CurrentValue = "OpenOffice.org Conference " ; } //Save modified document document.SaveTo (" OOoCon2007.odt" ) ;
  • 10. A Real World Scenario Assume you already have a shop software. Now, this software should be able to create bills for your customer. What will be the required steps ?
  • 11. A Real World Scenario – Todo's Outside your application: Create an OpenDocument text document as a template. Use placeholder to mark insert positions. Add the document as application resource.
  • 12. A Real World Scenario – Todo's Inside your application: Reference the AODL assembly. Load your “template” file. Find the corresponding placeholder. Replace them with the data from your application. Save the file.
  • 13. A Real World Scenario - Result
  • 14. Future Steps Future steps will be ... Support for presentation and draw documents ... Performance optimization ... Usability optimization ... Synchronization with other modules like odf4j, ... etc.
  • 15. Presentation End Now, Open Discussion ... Lars Behrmann Sun Microsystems