Fidelidade de layout
Paginação, cabeçalhos e rodapés, colunas, tabelas e imagens incorporadas são dispostos como o Word faria, pois a saída é uma imagem de página e não uma aproximação em HTML.
Interop do Office em um servidor web é uma decisão que as equipes lamentam a um ritmo previsível: requer uma licença de desktop, vaza processos, trava sob concorrência, e a Microsoft há anos recomenda não fazer isso. Doconut renderiza DOC, DOCX, RTF e ODT nativamente — sem Office, sem COM, sem WINWORD.EXE órfão às 4h da manhã.
O problema
A automação do Office foi projetada para um desktop com um usuário logado, não para um serviço que lida com vinte solicitações simultâneas. Sob carga, trava, diálogos aparecem onde ninguém pode descartá-los, e processos permanecem ativos após suas solicitações até que a máquina fique sem memória.
A questão de licenciamento não é melhor: um servidor que renderiza documentos para muitos usuários precisa de licenças de desktop que nunca deveriam ser necessárias.
A renderização nativa contorna tudo isso. Doconut abre o arquivo, o formata e produz imagens de página no processo. Não há um segundo aplicativo para instalar, supervisionar ou licenciar.
Capacidades
Paginação, cabeçalhos e rodapés, colunas, tabelas e imagens incorporadas são dispostos como o Word faria, pois a saída é uma imagem de página e não uma aproximação em HTML.
.doc, .docx, .docm, .dot, .dotx, .dotm, .rtf, .odt, .ott e .xml são todos abertos através da mesma chamada.
A renderização usa fontes instaladas no seu servidor, portanto a aparência do documento é uma propriedade da sua implantação e não da máquina que o leitor está usando.
Uma imagem de página não contém alterações rastreadas, texto excluído, comentários ou metadados do autor. Enviar imagens em vez do DOCX reduz significativamente o que vaza.
Com o plugin AdvancedSearch, a pesquisa funciona no texto do documento, não em uma imagem dele.
Com o plugin Converter, DocumentConverter.ConvertAsync() produz PDF ou outros destinos no mesmo processo — útil quando a necessidade é arquivar em vez de visualizar.
Integração
Observe que .xml é tratado pelo renderizador Word e WordConfig. Não é um visualizador XML de uso geral — está presente porque o próprio formato XML do Word entra nesse pipeline.
Extensões suportadas
// 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");Detalhes
Não. A renderização é nativa. Não há instalação do Office, nem assembly de interop e nem processo de automação para supervisionar.
Paginação e layout são reproduzidos no servidor, portanto o resultado corresponde de perto, desde que as fontes referenciadas pelo documento estejam instaladas no host de renderização. Fontes ausentes são substituídas, e a substituição é o que altera o layout.
A página renderizada mostra o documento como formatado, não os metadados de revisão por trás dele. Na verdade, isso é um recurso — revisores costumam encaminhar arquivos DOCX contendo texto excluído que acreditavam ter sido removido.
Excel
Renderização no servidor de XLS/XLSX/ODS/CSV com formatação preservada e planilhas ocultas deixadas de fora.
ExcelRenderização de PDF no servidor em imagens de página — o usuário lê o documento sem jamais receber o arquivo.
PDFUma licença temporária leva alguns minutos para ser solicitada e funciona totalmente na sua própria máquina. Os arquivos que importam são os que já estão quebrando seu visualizador atual.