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.

There really is 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.

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.

https://sourceforge.net/projects/aodl/

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.

https://www.independentsoft.de/odf

GemBox.Spreadsheet

Creator: GemBox

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

https://www.gemboxsoftware.com/

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.

https://www.aspose.com

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.

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

NetOdt

Creator: Tobias Sekan

Easy API to create ODT documents in .NET

https://github.com/TobiasSekan/NetOdt

Qt Framework

Creator: Qt Group

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.

https://www.qt.io/product/framework

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.

https://www.sqlmanager.net/products/tools/advancedimport

Cpoddsreport

Creator: dbframework (open source?)

Cppodsreport is a C++ library for generating reports in Open Document Format (ODF) spreadsheet format (*.ods).

https://github.com/dbframework/cppodsreport

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.

https://www.aspose.com

OpenDocument.core

Creator: opendocument-app (open source: GPL3)

C++ library to visualize files, especially documents, in HTML.

https://github.com/opendocument-app/OpenDocument.core

KMPY Go

Creator: kpmy (open source)

A library for generation of ODF documents with Go.

https://github.com/kmpy/odf/

odf & odf/ods

Creator: knieriem (open source: MIT)

Two Go packages that allow basic read-only access to the tables of Open Document Spreadsheets (ODS), making use of Go's encoding/xml package.

https://github.com/knieriem/odf

go-openoffice

Creator: multiprocessio (open source: MIT)

A Go library for reading Open Document Format (ODF) .ods (and .odt) files.

https://github.com/multiprocessio/go-openoffice

docconv

Creator: sajari (open source: MIT)

A Go wrapper library A Go wrapper library to convert PDF, DOC, DOCX, XML, HTML, RTF, ODT, Pages documents and images (see optional dependencies below) to plain text.

https://github.com/sajari/docconv

cat

Creator: lu4p (open source: unlicense)

A pure Go, simple libary to extract text from plaintext, .docx, .odt and .rtf files.

https://github.com/lu4p/cat

Pandoc

Creator: John MacFarlane (open source: GPL2 or later)

Pandoc is a Haskell library for converting from one markup format to another.

https://pandoc.org

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.

https://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

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.

https://odftoolkit.org/odfdom/

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.

https://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.

https://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.

https://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.

https://jodreports.sourceforge.net

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.

https://sourceforge.net/projects/jodconverter

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://odftoolkit.org/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.

https://sourceforge.net/projects/mystiquexml

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.

https://sourceforge.net/projects/odfeasy

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.

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

odfjlib

Creator: Ringlord Technologies (open source: GPL3)

Java Library that provides access to the contents of OASIS Open Document File (ODF) containers. Specifically, cryptographically secured files can be extracted using the correct password.

https://ringlord.com/odfjlib.html

SODS

Creator: miachm (open source: unlicense)

A simple library for the processing of Open Document Spreadsheet (ODS) files in Java. It allows read/write ODS files.

https://github.com/miachm/SODS

FastODS

Creator: J. Férard (open source: GPL3)

A very fast and lightweight (no dependency) library for creating Open Document Spreadsheet (ODS) files in Java. It's a Martin Schulz's SimpleODS fork.

https://github.com/jferard/fastods

OdsIO

Creator: sylvaticus (open source: LGPL3)

Open Document Format Spreadsheet (ODS) I/O for Julia using the python ezodf module. It allows to export (import) data from (to) Julia to (from) LibreOffice, OpenOffice and any other spreadsheet software that implements the OpenDocument specifications.

https://github.com/sylvaticus/OdsIO.jl

OdsReader

Creator: mkatase

OdsReaders is a package that provides functionality to read Open Document Spreadsheet (.ods) files.

https://github.com/mkatase/OdsReaders.jl

fpOdf

Creator: dgaspary (open source: GPL)

A library to help freepascal developers to generate and perform modifications to Open Document Format (ODF) files.

https://github.com/dgaspary/fpOdf

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 and Ruby 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://metacpan.org/dist/ODF-lpOD

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.

https://metacpan.org/dist/OpenOffice-OODoc

OOBuilder

Creator: Stefan Loones

Perl OO interface for creating OpenOffice Spreadsheets

https://metacpan.org/dist/OpenOffice-OOBuilder

OpenOffice.org Utility Library

Creator: Open Source Project

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

https://sourceforge.net/projects/ooolib

Dio

Creator: Open Source Project

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

https://gitlab.com/bersace/dio

Docxpresso API

Creator: Docxpresso

A software library that simplifies the generation of dynamical documents in a web server. Can also generate interactive ODF forms.

https://docxpresso.com/documentation-api

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

https://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.

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

PHPWord

Creator: PHPOffice (open source: LGPL3)

A pure PHP library for reading and writing word processing documents.

https://github.com/PHPOffice/PHPWord

OpenDocumentPHP

Creator: Norman Markgraf

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

https://sourceforge.net/projects/opendocumentphp/

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.

https://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.

https://www.tinybutstrong.com/plugins/opentbs

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

https://github.com/hforge/itools/

OpenOffice.org Utility Library

Creator: Open Source Project

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

https://sourceforge.net/projects/ooolib

odfdo

Creator: jdum (open source?)

Python3 library implementing the ISO/IEC 26300 Open Document Format (ODF) standard. Derivative work of the lpod-python project with a more pythonic API and the inclusion of recipes.

https://github.com/jdum/odfdo

Aspose.Words via .NET

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.

https://www.aspose.com

django-webodt

Creator: NetAngles

A django module which aims to create documents in various formats from Open Document templates (odt). Django-webodt supports virtually all formats supported by chosen backend tool (currently either ooffice, abiword or googledocs).

https://www.aspose.com

EzODF

Creator: T0ha

A Python package to create new or open existing OpenDocument (ODF) files to extract, add, modify or delete document data, forked from a dead project: https://bitbucket.org/mozman/ezodf.

https://github.com/T0ha/ezodf

pyexcel-ods & pyexcel-ods3 & pyexcel-odsr

Creator: pyexcel

Libraries to read, manipulate and write data in ods format using odfpy for pyexcel-ods and ezodf for pyexcel-ods3.

https://github.com/T0ha/ezodf

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 and Ruby languages. The project has some industrial relevance through projects and applications in the fields of Business Intelligence (BI) , CMS applied to museography, ETL, etc.

???

odf-report

Creator: sandrods (open source?)

Gem for generating .odt files by making strings, images, tables and sections replacements in a previously created .odt file.

https://github.com/sandrods/odf-report

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

https://sisudoc.org/

odt2html

Creator: Bernard Potocki

OpenDocument text (.odt) to HTML converter

https://rubygems.org/gems/odt2html

RODF

Creator: westonganger (open source?)

RODF is a library for writing to Open Document Format (ODF) output from Ruby. It mainly focuses creating ODS spreadsheets.

https://github.com/westonganger/rodf

Yomu

Creator: yomurb (open source: MIT)

Yomu is a library for extracting text and metadata from files and documents using the Apache Tika content analysis toolkit.

https://github.com/yomurb/yomu

Serenity

Creator: kremso (open source: MIT)

Serenity is an embedded ruby for OpenOffice documents (.odt files). You provide an .odt template with ruby code inside a special markup and the data and Serenity generates the document.

https://github.com/kremso/serenity

calamine

Creator: tafia (open source: MIT)

A pure Rust library to read and deserialize any spreadsheet file.

https://github.com/tafia/calamine

dotext

Creator: anvie (open source: MIT)

Simple Rust library to extract readable text from specific document formats like Open Document Text, Spreasheet and Presentation (.odt, .ods, .odp).

https://github.com/anvie/dotext

ODFTemplate

Creator: migo (open source: Apache2)

Small Scala library for generating Open Office text documents from templates.

https://github.com/migo/odftemplate

simple-odf

Creator: connium (open source: MIT)

A library for creating Open Document Format (ODF) text files using Typescript/JavaScript and Node.js

https://github.com/connium/simple-odf

officeParser

Creator: harshankur

A Node.js library to parse text out of any office file, for example Open Document Text, Spreadsheets and Presentations (.odt, .ods, .odp).

https://github.com/connium/simple-odf

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.

https://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.

https://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.

https://github.com/dstosberg/odt2txt

Docwire

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.

https://silvercoders.com

fo2odf

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

https://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.

https://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.

https://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.

https://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.

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.



So far thirteen plugfests have taken place, hosted by governments, academic institutions and companies in a number of countries.

Visit: https://odfplugfest.org

Organised by OpenDoc Society