Creation of an toolkit-independent ODF library

From Apache OpenOffice Wiki
Jump to: navigation, search

Version en Español


A library created in C++ to enable the processing of OpenDocument text and return the requested information. Libodf by itself will do nothing because it is a library, but must be sufficiently open so that programs can use and process this information quickly.

Problem to solve

Developers will need tools to process ODF which currently there are not there. Specialized libraries that can run with at a low level and can process ODF without the need of dedicated applications for it. libodf would be a low level library that will let developers and system administration process opendocument files from the terminal or re-use it to develop web applications, scripts, or desktop applications.


A system base library that would be target for developers and system administrators to process OpenDocument files from the command line.

Perspective for further development

The library aims to have a standarized schema of the OpenDocument format and will allow the interpretation and output of the content from these files. Further development will allow to also generate and edit files inserting content within the newly created document.

Scope of the solution

The library aims to be an engine so that other solutions including scripts, web applications and desktop software can be created around the engine.

Project Setup


Currently people from the OpenDoc Society, and KOffice groups are working on developing this idea. Further mentoring from webkit experts can also help with the design of the project.

Other people from OpenDocumentFellowship, OpenDocumentAlliance and other groups will be invited to evaluate the project as it matures.


GPL 3 or LGPL 3 would be the main licenceses that we are currently reviewing.

Project risks

Development could go stale or design arguments could drive the project into planning loop. For that we decided on having specific rules on how to aproach these problems so that the project remains on track.

Project results

Project results would be available at the opendocumentfellowship website which has the history and tradition of being one of the groups that holds or points to projects related to the development of ODF. Opendocumentfellowship is a center piece part of the FLOSS community.


Develop frontends for ease of use of the library either in Qt/KDE, or plugins for commands such as 'less'.

Update on ODF versions and implement the legacy solutions.


libodf depend on the XML processor - libxml2 to process the XML and ODF libzip for handling packages. Additionally, must have had in memory Requirements for buffering.


Proof of Concept

Relevant Links

Personal tools