OpenDocument Format
The future is interoperability

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.

Go

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.

    https://github.com/lpod/lpod-python

  • 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.

    https://github.com/eea/odfpy

  • 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.

    http://www.hforge.org/odf

  • OpenOffice.org Utility Library

    Creator: Open Source Project

    Library modules for creating Open Document Format (ODF) documents, both in Python and in Perl.

    http://sourceforge.net/projects/ooolib

Java

  • ODFtoolkit.org ODFDOM

    Creator: Apache foundation

    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.

    http://incubator.apache.org/odftoolkit/

  • 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.

    http://www.aspose.com

  • JODF

    Creator: Independentsoft

    JODF is Open Document Format API for Java and Android, and allows you to write applications to create, modify and parse text documents and spreadsheets.

    http://www.independentsoft.de/jodf

  • jOpenDocument

    Creator: Open Source project

    jOpenDocument is a free library for developers looking to use Open Document files without OpenOffice.org.

    http://www.jopendocument.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.

    http://sourceforge.net

  • 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.

    https://incubator.apache.org/odftoolkit/xsltrunner/ODFXSLTRunner.html

  • MystiqueXML

    Creator: Yacme.com

    MystiqueXML is a open source framework in Python and Java for automated documents creation based on OpenOffice.org and XML.

    http://mystiquexml.yacme.com/

  • 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.

    http://odfeasy.sourceforge.net

  • 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.

    http://www.xmlmind.com XSL-FO v1.0

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.

    http://lpod-project.org

  • 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.

    search.cpan.org/dist/OpenOffice-OODoc

  • 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.

    http://sourceforge.net/projects/ooolib

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.

    http://www.aspose.com

  • 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.

    http://www.docjar.com

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.

    http://lpod-project.org

  • 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.

    http://www.qtsoftware.com

  • 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.

    http://www.sqlmanager.net/en/products/tools/advancedimport

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.

    http://lpod-project.org

  • Ruby ODF

    This module provides an access library to files in ODF format (Oasis Open Document Format 1.0) in pure ruby.

    http://rubyforge.org/projects/rubyodf

  • 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).

    http://www.jus.uio.no/sisu

  • Ruby ODT to XHTML

    Creator: J. David Eisenberg

    http://books.evc-cit.info

  • PHP

    Dio

    Creator: Open Source Project

    Dio is a native PHP simple OpenDocument generator, designed with PHP PEAR/Zend_Framework.

    https://gitlab.com/bersace/dio

  • 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).

    http://www.jejik.com/odf-xslt

  • ODF-PHP

    Creator: Open Source Project

    PHP Class that provides a easy interface for read and write Open Document Spreadsheet files.

    http://sourceforge.net/projects/ods-php

  • OpenDocumentPHP

    Creator: Norman Markgraf

    OpenDocumentPHP aims to be an API for OpenDocument in PHP 5.2 (and above).

    http://opendocumentphp.org

  • 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.

    http://sourceforge.net/projects/odtphp

  • OpenTBS

    Creator: TinyButStrong

    OpenTBS is a PHP tool that can produce any type of ODF document with an advanced template system.

    http://www.tinybutstrong.com/plugins/opentbs/demo/demo.html

  • 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.

    http://php-o3-template.sourceforge.net

.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.

    http://www.independentsoft.de/odf

  • 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.

    http://www.aspose.com

  • 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).

    http://www.aspose.com

  • 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.

    http://www.xmlmind.com/foconverter | XSL-FO v1.0

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.

    http://www.sqlmanager.net/en/products/dataimport

  • 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.

    http://www.sqlmanager.net/en/products/dataexport

  • 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.

    http://stosberg.net/odt2txt

  • 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.

    http://silvercoders.com/index.php?page=DocToText

  • fo2odf

    XSLT stylesheets and related tools to convert documents from formatting objects (XSL FO) to ODF format.

    http://sourceforge.net/projects/fo2odf

  • 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.

    http://sourceforge.net/projects/pdf2oo

  • ODFgrep

    Creator: Ray Lischner

    Grep tool for OASIS Open Document Format (ODF) files. Search content and meta streams for regular expressions.

    http://sourceforge.net/projects/odfgrep

  • 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.

    http://cran.r-project.org/package=odfWeave

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.

Read the latest version of the specification

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.

ODF Plugfest

So far nine plugfests have taken place, hosted by governments, academic institutions and companies in a number of countries. The next plugfest will be held in London, hosted by the UK Cabinet Office.

Visit: http://plugfest.opendocumentformat.org

Join OpenDoc Society

OpenDocument Format is standardised by OASIS and adopted by ISO/IEC JTC1 SC34. ODF is the current best practise for sharing and storing office documents across the industry, which is proven by the fact that many governments around the world have already adopted it. Why not try?