OpenDocument Format for developers
Open Document Format (ODF) is an international family of standards that is standardised at OASIS and was first adopted by ISO/IEC JTC1 SC34 in 2005.
Writing and reading ODF documents from applications is easy, whether you are talking about text documents, spreadsheet or presentatations. Check for instance these simple freely reusable code examples where you extract all text from a document or appy the look from another document, generate a basic spreadsheet, create a presentation from a folder containing images or pictures in another document.
Or do more advanced stuff like swap and row/columns of a table, extract a subtable from a bigger table, automate things you used to have to do by hand (like transforming all links into footnotes, remove all hypertext links from a document, replace images (like old logos) or improve accessibility for people with visual impairments.
There really are a myriad of new possibilities you have for working with office documents and optimising your workflow. On this page you will find an overview of dozens of software libraries that make it easy to access content stored in OpenDocument Format. If your product or project is not listed, contact us.
Python
-
lpod-python
Creator: Itaapy (open source)
The lpOD Project develops an extensive set of multilanguage tools around the OpenDocument Format standard. It offers a set of high-level API's to OpenDocument Format in the Python, Perl, Ruby and C++ languages. The project has some industrial relevance through projects and applications in the fields of Business Intelligence (BI) , CMS applied to museography, ETL, etc.
-
ODFpy
Creator: Søren Roug
Odfpy aims to be a complete API for OpenDocument in Python. Unlike other more convenient APIs, this one is essentially an abstraction layer just above the XML format. The main focus has been to prevent the programmer from creating invalid documents. It has checks that raise an exception if the programmer adds an invalid element, adds an attribute unknown to the grammar, forgets to add a required attribute or adds text to an element that doesn't allow it.
-
itools.odf
Creator: Itaapy (open source)
The itools library includes an XML engine and localization tools to extract messages, and merge translations back into a copy of ODF documents.
-
OpenOffice.org Utility Library
Creator: Open Source Project
Library modules for creating Open Document Format (ODF) documents, both in Python and in Perl.
Java
-
ODFtoolkit.org ODFDOM
Creator: SUN Microsystems
ODFDOM is an OpenDocument (ODF) framework. Its purpose is to provide an easy common way to create, access and manipulate ODF files, without requiring detailed knowledge of the ODF specification. It is designed to provide the ODF developer community an easy lightwork programming API, portable to any object-oriented language.
-
Aspose.Words
Creator: Aspose
Aspose.Words is a class library that enables your applications to perform a great range of document processing tasks. Aspose.Words supports OpenDocument as well as DOC, MS Word 2007, RTF, HTML, PDF, XPS, EPUB and other formats. With Aspose.Words you can generate, modify, convert, render and print documents without utilizing other software.
-
jOpenDocument
Creator: Open Source project
jOpenDocument is a free library for developers looking to use Open Document files without OpenOffice.org.
-
JODReports
JODReports, Java OpenDocument Reports, is a solution for creating office documents and reports in OpenDocument Text format from templates that can be visually composed using the OpenOffice.org Writer word processor. These documents can then optionally be converted to other formats such as PDF, Word and RTF.
-
JODconverter
Creator: Art of Solving
JODConverter automates conversions between office document formats using OpenOffice.org. Supported formats include OpenDocument, PDF, RTF, Word, Excel, PowerPoint, and Flash. It can be used as a Java library, a command line tool, or a Web application.
-
ODFXSLTRunner
Creator: SUN Microsystems
ODF XSLT Runner is a small Java application that allows you to apply XSLT stylesheets to XML streams included in ODF packages without extracting them from the package. It can be used from the command line. A driver to use it within Ant buildfiles is also available.
-
MystiqueXML
Creator: Yacme.com
MystiqueXML is a open source framework in Python and Java for automated documents creation based on OpenOffice.org and XML.
-
ODF Easy
Creator: Open source project
ODF Easy consist in an alternative layer for the ODFDOM API. The main goal of the project consist in the creation of a basic API to facilitate the creation of ODF (initially only Spreadsheets) documents by Java developers.
-
XMLmind XSL-FO Converter
Creator: XMLmind
XMLmind XSL-FO Converter is an XSL-FO processor which converts XSL-FO v1.0to Open Document Format and other tools. XMLmind XSL-FO Converter is available in two versions, targeted at the Java 1.4+ Platform and the Microsoft .NET 2.0+ Framework respectively.
Perl
-
lpod-perl
Creator: Jean-Marie Gourne (open source)
The lpOD Project develops an extensive set of multilanguage tools around the OpenDocument Format standard. It offers a set of high-level API's to OpenDocument Format in the Python, Perl, Ruby and C++ languages. The project has some industrial relevance through projects and applications in the fields of Business Intelligence (BI) , CMS applied to museography, ETL, etc.
-
Open OpenDocument Connector
Creator: Jean-Marie Gouarne
License: GNU Lesser General Public Licence, version 2.1
The Open OpenDocument Connector is a Perl-based application programming interface, which can be regarded as a way to build bridges between office documents and business applications. It allows the applications to directly create, retrieve, export, update or remove any content or layout element in OpenDocument-compliant files through a powerful scripting language. The main goal of the Open OpenDocument Connector (OODoc) is to allow quick application development in 2 areas:
- replacement of old-style, proprietary, client-based macros for intensive and non-interactive document processing;
- direct read/write operations by enterprise software on office documents, and/or document-driven applications.
OODoc provides an abstraction of the document objects and isolates the programmer from low level XML navigation, UTF8 encoding and file compression details.
-
OOBuilder
Creator: Stefan Loones
Perl OO interface for creating OpenOffice Spreadsheets
http://search.cpan.org/dist/OpenOffice-OOBuilder/OOCBuilder.pm
-
OpenOffice.org Utility Library
Creator: Open Source Project
Library modules for creating Open Document Format (ODF) documents, both in Python and in Perl.
JasperReports
-
Aspose for Jasper Reports
Creator: Aspose
Aspose.Words for JasperReports makes it possible to export reports from JasperReports and JasperServer to OpenDocument Text (ODT), Microsoft Word document (DOC, DOCX), Rich Text Format (RTF), Web page (HTML) and plain text (TXT) formats.
-
JROdtExporter
Creator: Teodor Danciu
Exports a JasperReports document to ODF format. It has character output type and exports the document to a grid-based layout.
C++
-
lpod-C++
Creator: Laboratoire d'Informatique du Littoral (open source)
The lpOD Project develops an extensive set of multilanguage tools around the OpenDocument Format standard. It offers a set of high-level API's to OpenDocument Format in the Python, Perl, Ruby and C++ languages. The project has some industrial relevance through projects and applications in the fields of Business Intelligence (BI) , CMS applied to museography, ETL, etc.
-
Nokia Qt
Creator: Nokia
Qt is a cross-platform application and UI framework that allows you to write applications once and deploy them across desktop and embedded operating systems without rewriting the source code. QTextDocumentWriter class makes it possible to create OpenDocument Format (ODF) files from any Qt text document. This opens the door to automated document creation and distribution in a standards-compliant format that users can open in a wide variety of word processors.
-
EMS Advanced Data Import VCL
Creator: EMS
Advanced Data Import VCL is a component suite for Borland Delphi and C++ Builder that allows you to import data from files of the most popular data formats to the database. You can import data from ODF, MS Excel, MS Access, DBF, XML, TXT, CSV, and HTML. There will be no need to waste your time on tiresome data conversion - Advanced Data Import will do the task quickly, irrespective of the source data format.
Ruby
-
lpod-ruby
Creator: Pierlis (open source)
The lpOD Project develops an extensive set of multilanguage tools around the OpenDocument Format standard. It offers a set of high-level API's to OpenDocument Format in the Python, Perl, Ruby and C++ languages. The project has some industrial relevance through projects and applications in the fields of Business Intelligence (BI) , CMS applied to museography, ETL, etc.
-
Ruby ODF
This module provides an access library to files in ODF format (Oasis Open Document Format 1.0) in pure ruby.
-
SiSu
Creator: University of Oslo
Structured information, Serialized Units for electronic documents, is an information structuring, transforming, publishing and search framework that is able to output multiple outputs primarily industry established and institutionally accepted open standard formats, include amongst others: plaintext (UTF-8); html; (structured) XML; ODF (Open Document text)l; LaTeX; PDF (via LaTeX); SQL type databases (currently PostgreSQL and SQLite). Also produces: concordance files, document content certificates (md5 or sha256 digests of headings, paragraphs, images etc.) and html manifests (and sitemaps of content).
-
Ruby ODT to XHTML
Creator: J. David Eisenberg
-
PHP
Dio
Creator: Open Source Project
Dio is a native PHP simple OpenDocument generator, designed with PHP PEAR/Zend_Framework.
-
ODF-XSLT
Creator: Tribal Internet Marketing, Lone Wolves (open source project)
The ODF-XSLT Document Generator is a library written in PHP 5 that brings the full power of XSLT to OpenDocument files. It enables you to use ODF files as if they were plain XSLT templates. It also includes a few extra parsing options that allow you to edit the XSLT parts of these ODF from within your favourite office suite. ODF-XSLT is released as Free Software (GPLv3).
-
ODF-PHP
Creator: Open Source Project
PHP Class that provides a easy interface for read and write Open Document Spreadsheet files.
-
OpenDocumentPHP
Creator: Norman Markgraf
OpenDocumentPHP aims to be an API for OpenDocument in PHP 5.2 (and above).
-
OdtPHP
Creator: Open Source project
OdtPHP is a PHP librairy designed to use OpenDocument file as a template for PHP. It's a kind of PHPLib for OpenDocument Format.
-
OpenTBS
Creator: TinyButStrong
OpenTBS is a PHP tool that can produce any type of ODF document with an advanced template system.
-
PHP OpenOffice.Org Template
Creator: Provincia di Lucca, ciancia at di.unipi.it
This is a project to build a simple template engine to modify ODF documents from PHP. The purpose is to enable ODF users to write templates, including user variables that can be set programmatically. This gives one the possibility to create pre-defined forms directly in an application, and then to fill in the form fields from PHP, e.g. taking the input from an html form, and to serve an ODT, RTF or PDF document.
The power of the library comes from XSLT manipulation of the odt format. You can create your own xslt transformations and apply those to the odt document, that can subsequently be converted using php-o3-template. If no conversion (e.g. into PDF or RTF) takes place, then the system will not use other software (e.g. an openoffice.org runtime), and it will be very fast. If needed, an openoffice.org instance will be automatically run in a virtual X server, and will be kept running to minimise response times on subsequent invocations.
.Net; C#
-
ODFtoolkit.org AODL
Creator: SUN Microsystems
AODL is the .net module of the ODF Toolkit. The library is completly written in pure C# and can be used to extend your .Net based software to support the OpenDocument Format.
-
ODF.net
Creator: Independentsoft
ODF .NET is Open Document Format API for .NET Framework and .NET Compact Framework. ODF .NET supports Open Document Format standard as defined in the OASIS Open Document Format. ODF .NET allows you to write applications to create, modify and parse text documents and spreadsheets. The API is written in 100% managed C# code.
-
Aspose.Words
Creator: Aspose
Aspose.Words is a class library that enables your applications to perform a great range of document processing tasks. Aspose.Words supports OpenDocument as well as DOC, MS Word 2007, RTF, HTML, PDF, XPS, EPUB and other formats. With Aspose.Words you can generate, modify, convert, render and print documents without utilizing other software.
-
Aspose.Recognition for .NET V1.1
Creator: Aspose
With Aspose.Recognition you can add intelligent PDF to word processing documents conversion to your 32-bit and 64-bit .NET applications. Aspose.Recognition reads a PDF file, recognizes editable document structures and allows saving the resulting document as OpenDocument (ODT), Microsoft Word (DOC) and Word 2007, Rich Text Format (RTF), WordprocessingML (XML), HTML, XHTML, MHTML and Plain Text (TXT).
-
GemBox.Spreadsheet
Creator: http://www.gemboxsoftware.com
GemBox.Spreadsheet is a .NET component that enables developers to write, read or convert spreadsheet files (XLS, CSV, XLSX, HTML or ODS) from their .NET applications using one simple API. GemBox.Spreadsheet requires only .NET Framework. GemBox.Spreadsheet Free is free of charge while GemBox.Spreadsheet Professional is a commercial version (licensed per developer).
-
XMLmind XSL-FO Converter
Creator: XMLmind
XMLmind XSL-FO Converter is an XSL-FO processor which converts XSL-FO v1.0 to Open Document Format and other tools. XMLmind XSL-FO Converter is available in two versions, targeted at the Java 1.4+ Platform and the Microsoft .NET 2.0+ Framework respectively.
Other useful tooling
-
DataImport for MySQL/SQLserver/PostgreSQL/Oracle
Creator: EMS
Import data to database tables from MS Excel 97-2007, MS Access, DBF, TXT, CSV, MS Word 2007, RTF, ODF and HTML files. This utility allows you to quickly import data to one or several database tables or views at once, save all import parameters set on current wizard session, use special batch insert mode to import data at the maximum possible speed and much more.
-
EMS Data Export for MySQL/SQLserver/PostgreSQL/Oracle
Creator: EMS
EMS Data Export for MySQL is a powerful tool to export database data quickly to any of 19 available formats, including ODF, MS Access, MS Excel, MS Word, RTF, HTML, TXT, and more. Data Export has a friendly wizard, which allows you to set various options of export process visually and a command-line utility to automate your export jobs using the configuration file.
-
ODT2txt
Creator: Dennis Stosberg
A simple converter from OpenDocument Text to plain text. odt2txt is a command-line tool which extracts the text out of OpenDocument Texts.
-
DocToText
Creator: Silvercoders
A utility that can convert OpenDocument Format files, MS Word binary format (DOC), Rich Text Format (RTF), and Office Open XML (ISO/IEC 29500) documents to plain text. Extracting plain text can be used for a lot of things like searching, indexing or archiving. DocToText can be also used as a fast console viewer.
-
fo2odf
XSLT stylesheets and related tools to convert documents from formatting objects (XSL FO) to ODF format.
-
PDF2OO
Creator: Open Source project
pdf2oo converts pdf to odf. It creates an image for each page, allowing to overlay drawings and text and export it back to pdf. Handy for rewiews of scientific papers. The closest thing to a free pdf editor, „almost“ an openoffice pdf import filter.
-
ODFgrep
Creator: Ray Lischner
Grep tool for OASIS Open Document Format (ODF) files. Search content and meta streams for regular expressions.
-
ODFweave
The Sweave function (Leisch, 2002) is a powerful component of R. It can be used to combine R code with LATEX, HTML and ODF so that the output of the code is embedded in the processed document. A written record of an analysis can be created using Sweave, but additional annotation of the results may be needed such as context–specific interpretation of the results. Sweave can be used to automatically create reports, but it can be difficult for researchers to add their subject–specific insight to pdf or HTML files. The odfWeave package was created so that the functionality of Sweave can used to generate documents that the end–user can easily edit.
The power of reuse
The technology behind ODF
ODF is based on XML, which makes it easy to develop your own software if none of these existing solutions fit your need. There is an extensive repository of available example code ready for use.
The technical specifications of ODF are available online for free.
Real world interoperability
ODF plugfests
The ODF plugfests are an ongoing series of vendor-neutral events, bringing together implementers and stakeholders of the standard. The goal is to achieve maximum interoperability by running scenario-based tests in a hands-on manner and discuss new and proposed features of the ODF specification. And of course they are a great place to meet other developers working with OpenDocument Format.
So far eight plugfests have taken place, hosted by governments, academic institutions and companies in a number of countries. The most recent plugfest was held in BrusseLs at Microsoft Executive Briefing Center on April 19-20, 2012 in Brussel (Belgium)
Visit: http://www.odfplugfest.org
