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.
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.
The problem
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
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.
.doc, .docx, .docm, .dot, .dotx, .dotm, .rtf, .odt, .ott and .xml all open through the same call.
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.
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.
With the AdvancedSearch plugin, search works against the document's text, not against a picture of it.
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
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
// 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
No. Rendering is native. There is no Office install, no interop assembly and no automation process to supervise.
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.
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.
Excel
Server-side rendering of XLS/XLSX/ODS/CSV with formatting preserved and hidden sheets left behind.
ExcelServer-side PDF rendering into page images — the user reads the document without ever receiving the file.
PDFA 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.