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.
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.
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.
| Aspect | Dynamic library | Process invocation |
|---|---|---|
| Where the engine runs | Inside your application process | In its own process |
| Language coverage | Rust, Go, Java, C++, Python, and other popular languages | Any language that can start a process |
| Isolation | Shares your process | Isolated from your application |
| Overhead | Lowest: in-process calls | One process boundary per call |
| Offline | Yes | Yes |
| Operating systems | Windows, Linux, macOS, Android, iOS, HarmonyOS | Windows, Linux, macOS, Android, iOS, HarmonyOS |
The contract
A file goes in. A file or a preview comes out.
Keeps the workflow, storage, and permissions where they already are.
One Rust core behind both surfaces, running offline.
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