Rust
The full API: byte output, writers, async file conversion, local resources, and opt-in remote fetching.
Start with RustOne engine, nine paths
Pick the environment you already ship. Every guide starts from a clean project, produces a real PDF, then explains configuration, resources, lifecycle, and runtime limits.
Native entry points
Use native bindings when your service needs in-process execution, explicit ownership, and packaged platform libraries.
The full API: byte output, writers, async file conversion, local resources, and opt-in remote fetching.
Start with RustConvert HTML or Markdown files from a shell, a script, or standard input without writing application code.
Start with the CLILink a versioned static or shared library through opaque handles, stable status codes, and explicit ownership.
Start with CInstall an ABI3 wheel and receive Python bytes from a native Rust renderer on Linux, macOS, or Windows.
Start with PythonInstall one managed package with its native library for Linux, macOS, or Windows.
Start with .NETUse a Java 17 facade with deterministic ownership and native libraries for five platforms.
Start with JavaUse an idiomatic chainable converter backed by the same native Rust engine and package contract.
Start with RubyPortable WebAssembly
Browser and Node.js use the same WebAssembly renderer. Supply fonts and document resources as bytes from the host application.
Initialize the WASM module, render locally, and turn the returned Uint8Array into a Blob for download or preview.
Start in the browserUse the package-owned WASM asset from Node.js 22 or 24 with ESM and write the returned Uint8Array where you need it.
Start with Node.jsChoose by capability
All paths render HTML and Markdown with reusable converter settings. Host integration is what differs.
| Capability | Rust | CLI | C | .NET | Java | Python | Ruby | WASM |
|---|---|---|---|---|---|---|---|---|
| PDF bytes | Yes | File | Yes | Yes | Yes | Yes | Yes | Yes |
| Local resources | Yes | Yes | Host bytes | Host bytes | Host bytes | Yes | Yes | Host bytes |
| Direct file output | Yes | Yes | No | No | No | Yes | Yes | No |
| Streaming or async | Yes | No | No | No | No | No | No | No |
| Remote HTTP | Opt-in | No | No | No | No | No | No | No |