Help · Integration

Choosing between the dynamic library and process invocation

How OfficeAPI's two integration paths differ — in-process dynamic library versus process invocation — and a four-step way to pick one for your architecture.

Definition. OfficeAPI offers 2 integration paths: the dynamic library, which you link into your application and call in-process, and process invocation, which runs OfficeAPI as a separate process you communicate with across a boundary. Both call the same Rust core and produce the same results.

What is the dynamic library path?

You link OfficeAPI directly into your application. Bindings are provided for 5 named languages — Rust, Go, Java, C++, Python — and other popular languages.

Choose it when:

  • your application is written in one of the supported languages, or can load a native library;
  • you want the smallest possible overhead between your code and the engine;
  • you prefer a single deployable artifact.

What is process invocation?

You run OfficeAPI as a separate process and talk to it across a clear boundary.

Choose it when:

  • your application's language or runtime is not covered by the library bindings;
  • you want the engine isolated from your application's memory space and lifecycle;
  • you already orchestrate work through separate processes.

How do the two paths compare?

Dynamic library Process invocation
Where the engine runs Inside your process In its own process
Language coverage Rust, Go, Java, C++, Python, and more Any language that can start a process
Isolation Shares your process Isolated from your process
Overhead Lowest (in-process call) One process boundary per call
Offline Yes Yes
Operating systems All 6 All 6
Format coverage Identical Identical

How do you choose in four steps?

  1. List your runtimes. If every runtime is Rust, Go, Java, C++, or Python, the dynamic library is available everywhere.
  2. Decide on isolation. If the document step must not share memory or lifecycle with your app, pick process invocation.
  3. Weigh overhead. For many small calls, the in-process library avoids a process boundary each time.
  4. Check deployment. Both ship as zero-dependency binaries on Windows, Linux, macOS, Android, iOS, and HarmonyOS; pick the one your packaging prefers.

Do both paths stay offline?

Yes. Whichever path you pick, OfficeAPI runs where you deploy it. Files are handled on the local device or in the cloud environment you manage; there is no hosted upload step.

Frequently asked questions

Can I use both paths in one product?

Yes. They call the same engine, so a desktop app can link the library while a server pipeline runs the process.

Is the format coverage different between the paths?

No. The 42 conversion pairs and 32 preview extensions are identical on both.

Which path do mobile apps use?

Either. The dynamic library is the natural fit for Android, iOS, and HarmonyOS apps written in a supported language; process invocation works where your platform allows spawning a process.

References

Ready to integrate

Bring the engine into your product.

Compare integration paths