libre_office_kit_converter_plugin 0.0.2 copy "libre_office_kit_converter_plugin: ^0.0.2" to clipboard
libre_office_kit_converter_plugin: ^0.0.2 copied to clipboard

Flutter plugin for document conversion powered by LibreOffice

LibreOfficeKit Converter Plugin #

A Flutter plugin that uses LibreOfficeKit to convert office documents directly on the device.

It allows you to transform DOC(-X), XLS(-X), PPT(-X) and many other formats into PDF (default) or another supported export format without external services, without internet, fully offline.

What is LibreOfficeKit? #

LibreOfficeKit (LOK) is the API of LibreOffice that can load and export documents programmatically.

This plugin packages LibreOffice and exposes LibreOfficeKit as a simple Flutter API.

LibreOffice version #

Platform builds are based on the following LibreOffice versions:

  • Android → LibreOffice 26.8
  • iOS → LibreOffice 24.8

Features #

  • Convert documents fully offline
  • No Cloud / no upload
  • Works with many formats supported by LibreOffice
  • Simple API
  • Custom export filters supported

Supported conversions #

Anything that LibreOffice itself can open and export.

Common examples:

  • DOC / DOCX → PDF
  • XLS / XLSX → PDF
  • PPT / PPTX → PDF
  • ODT / RTF → PDF
  • and many more

If LibreOffice can do it on desktop, LOK can do it here.

Installation #

Add the dependency in pubspec.yaml.

dependencies:
  libre_office_kit_converter_plugin: ^x.y.z

API #

init() #

Initializes LibreOfficeKit.

Must be called once before any conversion.

Internally this boots the LibreOffice runtime, loads fonts, registries and prepares the engine.

await converter.init();

convert() #

Converts a document into another format.

Parameters

Name Required Description
filePath yes Path to input document
outputFormat no Target format. Default: pdf
outputFilePath no Full-path for output file
outputFileName no Override file name (but with default path)
filterOptions no LibreOffice export filter string

Returns

Path to the produced file.

Important drawbacks #

Single document at a time #

LibreOfficeKit is not designed for parallel conversions in the same process.

If you start multiple conversions simultaneously, for example using Future.wait(), the documents will still be processed sequentially.


Application size #

LibreOffice is huge.

Expect the final application size to grow by ~600 MB depending on ABI and packaging strategy.

This is the price for fully offline document rendering.


Startup time #

Initialization may take noticeable time because fonts, configuration and registries must be loaded.

It is recommended to call init() early.

TODO / Roadmap #

  • Ability to replace bundled compiled LibreOffice sources with custom builds
  • More detailed error reporting

When should you use this plugin? #

Good if you need:

  • offline conversion
  • no dependency on cloud services
  • maximum format compatibility

Bad if:

  • app size is critical
  • you need parallel conversions
  • you only convert a very small subset of simple formats

License #

LibreOffice core is licensed under MPL

3
likes
160
points
0
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter plugin for document conversion powered by LibreOffice

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on libre_office_kit_converter_plugin

Packages that implement libre_office_kit_converter_plugin