ComOfficeKit SDK

Put Word, Excel, and PowerPoint Files to Work in Your Own Apps and Systems

ComOfficeKit is the document engine behind LynxOffice. It reads, edits, saves, and renders .docx, .xlsx, and .pptx files on the device, for your apps, your internal tools, and your AI.

.docx · .xlsx · .pptxRuns on the device

Free to evaluate for about 60 days: iOS and macOS · Windows

Swift

import DocumentCore

try SDKLicense.activate(key: licence)

// paragraphs, runs, tables and sections
let scene = try DocumentParser.parse(docxAt: url)
print(scene.body.count, "body elements")

// only the parts you changed are rewritten
try DocumentWriter.save(document: scene,
                        originalURL: url,
                        destinationURL: out)

One Engine, Three Places to Put It

The files your customers already use, read, changed, and drawn inside your own software, with nothing sent to a server.

In Your App

Open, edit, and preview Office files in your iPhone, iPad, and Mac apps.

In Your Internal Systems

Fill templates, generate reports, and read the numbers out of workbooks inside your own tools. On macOS and Windows today; Windows Server and Linux are in development.

With Your AI

Give your AI assistant Office files it can read and edit, with every change saved back into the real file.

See What You Can Build

Four jobs customers build on the engine. Each animation replays a real run of the code beside it, on the files it shows.

Document generation

Fill a Contract Template

For CRM, HR, legal, and internal tools.

Swift

try SDKLicense.activate(key: licence)

var scene = try DocumentParser.parse(
    docxAt: template)
for (placeholder, value) in values {
    scene = WordSceneEditor.replaceAll(
        placeholder, with: value, in: scene,
        caseSensitive: true).scene
}
try DocumentWriter.save(
    document: scene, originalURL: template,
    destinationURL: output)
A Word contract template with a real table: each placeholder is filled wherever it appears, and 9 of the file’s 10 parts are saved byte for byte.

Previews

Show Thumbnails and Export PDFs

For file managers, cloud drives, and chat apps.

Swift

try SDKLicense.activate(key: licence)

let files: [ParsedDocument] = [
    .word(try DocumentParser.parse(
        docxAt: docx)),
    .workbook(try SpreadsheetParser.parse(
        xlsxAt: xlsx, rasterizer: nil)),
    .slides(try SlideParser.parse(
        pptxAt: pptx)),
]
for file in files {
    let pages = try DocumentRenderer
        .pageCount(of: file)
    let thumbnail = try DocumentRenderer
        .image(of: file, page: 0, scale: 0.5)
    show(thumbnail, pages)
}
let pdf = try DocumentRenderer.pdfData(
    of: files[0])
Thumbnails of a Word document, an Excel workbook, and a PowerPoint deck, drawn on the device with their page counts; then the document is exported to a PDF of 2 pages.

Spreadsheet calculation

Recalculate a Quote

For quotes, finance, and inventory.

Swift

try SDKLicense.activate(key: licence)

var book = try SpreadsheetParser.parse(
    xlsxAt: quote, rasterizer: nil)
book = WorkbookSceneEditor.settingCellValue(
    .number(25), formula: nil, at: quantity,
    sheetIndex: 0, in: book)!
// A cached result is never recomputed, so
// clear each formula's, then evaluate them.
let formulas = book.sheets[0].cells.filter {
    $0.formula != nil }
for cell in formulas {
    book = WorkbookSceneEditor.settingCellValue(
        .empty, formula: cell.formula,
        at: cell.reference, sheetIndex: 0,
        in: book)!
}
let context = SceneWorkbookContext(
    scene: book, homeSheetIndex: 0)
for cell in formulas {
    let value = Formula.evaluate(
        cell.formula!, in: context)
    book = WorkbookSceneEditor.settingCellValue(
        value, formula: cell.formula,
        at: cell.reference, sheetIndex: 0,
        in: book)!
}
try SpreadsheetWriter.save(
    workbook: book, originalURL: quote,
    destinationURL: output)
The quantity in a quote goes from 10 to 25, every formula that depends on it is recalculated, and the total goes from $439.02 to $796.23.

AI integration

Let an AI Assistant Review a Contract

For anyone wiring documents into an AI assistant.

An assistant connected to an MCP server built on the engine lists a contract’s tracked changes and comments, accepts the changes, and answers a comment. Every call and reply on the right is recorded from the server, verbatim.

The server is LynxOffice’s own; your team wires the same engine into your own AI.

See LynxOffice’s MCP server

Recorded from lynxoffice-mcp 1.0.0: the assistant’s four tool calls and the server’s replies, and the contract before and after, drawn by the engine.

Every value, image, and line of code above comes from a real run of DocumentCore and AppleRender at engine 1.1.0.

Built on the Engine Behind LynxOffice

LynxOffice, KDAN's office suite for the Mac, opens, edits, and saves Word, Excel, and PowerPoint files with this engine. Its MCP server, which lets AI assistants read and edit documents, is built on it too.

What the Engine Does There

  • Opens .docx, .xlsx, and .pptx files, and saves them back in the same format
  • Keeps every edit in its document model
  • Draws each page
  • Calculates formulas

What LynxOffice Adds

  • Its interface: the editors you see
  • Its AI features
  • PDF editing, which uses Apple’s PDFKit rather than the engine

See LynxOffice

What the Engine Does

The same engine LynxOffice runs on, without the app around it.

Reads and Writes the Real Files

Opens .docx, .xlsx, and .pptx into a structured model and saves them back in the same format. Parts you did not change are carried over untouched.

Renders Pages

Draws any page of a document, workbook, or deck to an image or to PDF.

Calculates Formulas

Evaluates spreadsheet formulas, with Excel-style error values returned as values.

Stays on the Device

No network calls, including for the licence check, so documents never leave your software.

Frequently Asked Questions

Who is ComOfficeKit for?

Developers who need to read, create, or show Office documents inside their own app, teams building internal tools that generate or read those files, and companies connecting those files to their own AI.

How is it licensed?

Evaluate it free for about 60 days under the Service Terms, with the key each release publishes for iOS and macOS and for Windows. For a licence, tell us what you are building on the contact form, or write to support@comofficekit.com.

Which platforms are available?

iOS, iPadOS, macOS, and Windows today. Windows Server, Linux, and the Web are in development.

Can I run it on a server?

Today it runs on macOS and Windows 11, so a Mac or a Windows 11 PC can run it inside your own systems. Windows Server and Linux are in development.

Does it work with my AI?

Yes. Your AI assistant or agent can read and edit Word, Excel, and PowerPoint files through it, and every change is saved back into the real file. LynxOffice's MCP server, which lets AI assistants read and edit documents, is built on the same engine.

What does it not do?

It does not open or edit PDF files, although it renders documents to PDF, and it has no user interface of its own: you build the screens, and the SDK supplies the document model and draws the pages.

Talk to Us About ComOfficeKit

Tell us what you are building and which platforms you need, and our sales team will get back to you. You can also write to support@comofficekit.com.