Skip to content

**ODT export is now possible without LibreOffice — via odf-kit** #8457

@GitHubNewbie0

Description

@GitHubNewbie0

ODT export is now possible without LibreOffice — via odf-kit

This picks up where #102 left off.

Since Nextcloud Text is built on TipTap/ProseMirror, ODT export can now be implemented entirely in JavaScript with no server-side dependencies:

import { tiptapToOdt } from 'odf-kit'

// editor.getJSON() returns TipTap JSONContent
const bytes = await tiptapToOdt(editor.getJSON(), { pageFormat: 'A4' })

tiptapToOdt() converts TipTap/ProseMirror JSON directly to a spec-compliant .odt file. It runs entirely in the browser — no LibreOffice, no Pandoc, no external API calls. Document content never leaves the user's environment.

What's supported: headings, paragraphs, bold/italic/underline, lists (nested), tables, links, blockquotes, code blocks, horizontal rules, images (via pre-fetched bytes), custom node handler for app-specific extensions.

odf-kit is Apache 2.0, zero server-side dependencies, passes the OASIS ODF validator on every commit. There is also an odf-kit-service ExApp currently pending approval in the Nextcloud App Store, which exposes odf-kit over HTTP for server-side use cases.

Happy to help with integration if there's interest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions