Skip to content

Overview

Build Status Coverage Status Codacy Badge License Maven Central Javadocs Join the chat at https://gitter.im/jodconverter/Lobby Donate

Logo

Overview

JODConverter, the Java OpenDocument Converter, converts documents between different office formats. It leverages LibreOffice or Apache OpenOffice, which provide arguably the best free import/export filters for OpenDocument and Microsoft Office formats available today.

JODConverter automates all conversions supported by LibreOffice/OpenOffice. Supported conversions include (but not limited to. All conversions supported by your OOo installation is supported by JODConverter):

Document Type Input Format Output Format
Text DOC, DOCX, ODT, OTT, RTF, TEXT, etc. DOC, DOCX, HTML, JPG, ODT, OTT, FODT, PDF, PNG, RTF, TXT, etc.
Spreadsheet CSV, ODS, OTS, TSV, XLS, XLSX, etc. CSV, HTML, JPG, ODS, OTS, FODS, PDF, PNG, TSV, XLS, XLSX, etc.
Presentation ODP, OTP, PPT, PPTX, etc. GIF, HTML, JPG, ODP, OTP, FODP, PDF, PNG, PPT, PPTX, BMP, etc.
Drawing ODG, OTG, etc. GIF, JPG, ODG, OTG, FODG, PDF, PNG, SVG, TIF, VSD, BMP, etc.
Other HTML DOC, DOCX, HTML, JPG, ODT, OTT, FODT, PDF, PNG, RTF, TXT, etc.

JODConverter can be used in different ways:


Modules

The JODConverter project contains 8 modules.

jodconverter-cli

The jodconverter-cli module provides a standalone command-line tool for converting documents using LibreOffice or OpenOffice. It enables quick and easy file conversions without writing any Java code, making it ideal for automation, scripting, and server-side integrations.

See the dedicated page to know more about this tool.

jodconverter-core

Dependencies

The jodconverter-core module provides the core abstractions, used by JODConverter module implementations, such as jodconverter-local or jodconverter-remote. It abstracts the complexity of working with office managers, document formats, and conversion pipelines.

jodconverter-local

Dependencies

The jodconverter-local module builds on top of the jodconverter-core module and provides a ready-to-use implementation that connects to a locally installed instance of LibreOffice or Apache OpenOffice to perform document conversions.

This module handles the lifecycle of the office process, manages one or more office instances, and provides a convenient API to convert documents using the local desktop installation of an office suite—without requiring the user to manually start or manage OOo in headless mode.

See the Java Library section to know more.

jodconverter-local-oo

Dependencies

The jodconverter-local-oo module provides a variant of jodconverter-local that is packaged with dependencies targeting Apache OpenOffice. It contains no additional code, but includes the OpenOffice UNO libraries instead of the LibreOffice ones.

Use this module when your application needs to convert documents using an Apache OpenOffice installation.

Note

Internally, both jodconverter-local-oo and jodconverter-local-lo delegate to the same codebase (jodconverter-local). The only difference lies in the dependencies declared in their build files.

Using this module is in fact the exact same thing as using the jodconverter-local module. By default, JODConverter is built using the OpenOffice libraries. See here to know why.

jodconverter-local-lo

Dependencies

The jodconverter-local-lo module is a variant of jodconverter-local that packages the project with LibreOffice UNO libraries instead of the default Apache OpenOffice ones. Like jodconverter-local-oo, it contains no additional Java code—only a different set of dependencies defined in its build.gradle.kts.

Use this module if your application is intended to run with LibreOffice, which is generally recommended due to its more active development and broader format support.

jodconverter-remote

Dependencies

The jodconverter-remote module is a Java client library designed to perform document conversions by connecting to a remote document conversion REST API, such as those exposed by LibreOffice Online or Collabora Online.

Instead of managing a local or UNO-based office process, this module sends documents and conversion requests over HTTP(S) to a remote server that handles the conversion, making it ideal for cloud-native or containerized environments.

jodconverter-spring

Dependencies

The jodconverter-spring module provides seamless integration of JODConverter with the Spring Framework, enabling developers to easily configure and use document conversion services within Spring-based applications.

This module offers Spring-friendly beans and configuration support for managing office processes and document converters, helping you embed JODConverter capabilities in your web applications, microservices, or backend systems built with Spring.

jodconverter-spring-boot-starter

Dependencies

The jodconverter-spring-boot-starter module provides a convenient Spring Boot starter that simplifies integrating JODConverter’s document conversion capabilities into Spring Boot applications.

It auto-configures and manages all necessary beans, including the office manager and document converter, based on sensible defaults and externalized configuration properties, allowing developers to quickly enable document conversion with minimal setup.


Support 💬

JODConverter Gitter Community Join the chat at https://gitter.im/jodconverter/Lobby, growing FAQ.


Original JODConverter

JODConverter (Java OpenDocument Converter) automates document conversions using LibreOffice or OpenOffice.org.

The previous home for this project is at Google Code, including some wiki pages.


Donations

If this project helps you, please consider a cup of ☕. Thanks!! 💖

paypal