Integration

Two ways to call the engine. Both stay in your boundary.

Link OfficeAPI as a dynamic library or run it as a process. Either way it runs offline on the platforms your product already ships to.

2 invocation paths5+ languages6 operating systems

The two paths

Dynamic library or process invocation: which should you use?

Both paths call the same engine and produce the same results. The difference is where the engine lives relative to your code.

01

In-process, lowest overhead

Dynamic library

Link OfficeAPI directly into your application. Bindings are provided for Rust, Go, Java, C++, Python, and other popular languages.

RustGoJavaC++Pythonand more
Dynamic library compared with process invocation
AspectDynamic libraryProcess invocation
Where the engine runsInside your application processIn its own process
Language coverageRust, Go, Java, C++, Python, and other popular languagesAny language that can start a process
IsolationShares your processIsolated from your application
OverheadLowest: in-process callsOne process boundary per call
OfflineYesYes
Operating systemsWindows, Linux, macOS, Android, iOS, HarmonyOSWindows, Linux, macOS, Android, iOS, HarmonyOS

The contract

A file goes in. A file or a preview comes out.

Your productOwns the file

Keeps the workflow, storage, and permissions where they already are.

OfficeAPIReads, converts, renders

One Rust core behind both surfaces, running offline.

Your surfaceShows the result

Returns a converted file or a preview to the screen your users are on.

Environment fit

Ships to every platform your product does.

OfficeAPI runs on mainstream desktop, mobile, and server operating systems, so a single integration covers every target.

  • 01Windows
  • 02Linux
  • 03macOS
  • 04Android
  • 05iOS
  • 06HarmonyOS

Next

Check the formats your workflow needs.

Open the format matrix