Word

Word documents without Word on the server

Office interop on a web server is a decision teams regret at a predictable pace: it needs a desktop licence, it leaks processes, it deadlocks under concurrency, and Microsoft has said for years not to do it. Doconut renders DOC, DOCX, RTF and ODT natively — no Office, no COM, no orphaned WINWORD.EXE at 4am.

10
Word-family extensions supported
0
Office licences required
0
COM automation on your server

The problem

Why interop keeps ending badly

Office automation was designed for a desktop with a logged-in user, not a service handling twenty concurrent requests. Under load it deadlocks, dialogs appear where nobody can dismiss them, and processes survive their requests until the box runs out of memory.

The licensing story is no better: a server rendering documents for many users needs desktop licences it was never meant to need.

Native rendering sidesteps all of it. Doconut opens the file, lays it out, and produces page images in-process. There is no second application to install, supervise or license.

Capabilities

What survives the render

Layout fidelity

Pagination, headers and footers, columns, tables and embedded images are laid out as Word would, because the output is a page image rather than an HTML approximation.

The whole Word family

.doc, .docx, .docm, .dot, .dotx, .dotm, .rtf, .odt, .ott and .xml all open through the same call.

Fonts you control

Rendering uses fonts installed on your server, so document appearance is a property of your deployment rather than of whichever machine the reader happens to be using.

Hidden content stays hidden

A page image does not carry tracked changes, deleted text, comments or author metadata. Sending images instead of the DOCX is a meaningful reduction in what leaks.

Search across the text layer

With the AdvancedSearch plugin, search works against the document's text, not against a picture of it.

Convert when you need to

With the Converter plugin, DocumentConverter.ConvertAsync() produces PDF or other targets in the same process — useful when the requirement is archive rather than view.

Integration

Opening a DOCX

Note that .xml is handled by the Word renderer and WordConfig. It is not a general-purpose XML viewer — it is there because Word's own XML format lands in that pipeline.

Supported extensions

.doc.docx.docm.dot.dotx.dotm.rtf.odt.ott.xml
csharp
// Identical to every other format — the family is detected from the document
string token = await viewer.OpenDocumentAsync("wwwroot/files/Agreement.docx");

// With the Converter plugin, when the requirement is a PDF for the archive
await DocumentConverter.ConvertAsync(
    "wwwroot/files/Agreement.docx",
    "wwwroot/archive/Agreement.pdf");

Details

Word specifics

  • No Microsoft Office installation and no COM interop are involved at any point.
  • Install the fonts your documents reference on the render host; substituted fonts are the usual cause of unexpected reflow.
  • Conversion to PDF and other targets requires the Converter plugin.

Frequently asked questions

Do I need Microsoft Office on the server?

No. Rendering is native. There is no Office install, no interop assembly and no automation process to supervise.

Will the layout match what Word shows?

Pagination and layout are reproduced server-side, so the result matches closely provided the fonts the document references are installed on the render host. Missing fonts are substituted, and substitution is what shifts a layout.

Are tracked changes and comments visible?

The rendered page shows the document as laid out, not the revision metadata behind it. If anything, this is a feature — reviewers routinely forward DOCX files carrying deleted text they thought was gone.

Try it against your own documents

A temporary licence takes a few minutes to request and runs entirely on your own machine. The files that matter are the ones already breaking your current viewer.