Interop Office (automação do lado do servidor)

Definição

Controlando o Microsoft Office por código para abrir ou converter documentos. Funciona em um desktop e é explicitamente desencorajado em um servidor, tanto pela Microsoft quanto por todos que já o tentaram.

O Office foi criado para um único usuário interativo em um teclado. Em um servidor que lida com solicitações concorrentes, essa suposição falha de maneiras específicas e familiares: processos ficam em deadlock esperando uns pelos outros, diálogos modais aparecem onde ninguém pode descartá-los, e instâncias permanecem vivas além de suas solicitações até que a máquina fique sem memória.

A posição de licenciamento é igualmente complicada. Um servidor que renderiza documentos em nome de muitos usuários precisa de licenças de desktop que nunca foram destinadas a esse uso, o que gera uma conversa com a equipe de compras que raramente termina bem.

A alternativa é a renderização nativa: uma biblioteca que analisa o formato diretamente e produz a saída no próprio processo. Nenhum aplicativo secundário, nenhuma camada de automação, nenhum processo órfão para ser recolhido em uma agenda.

No Doconut

Doconut renderiza nativamente. Não há instalação do Office, nem automação COM e nem assembly de interop em nenhum ponto do pipeline — o que também torna a implantação de contêineres simples.

Veja como funciona na prática

As definições só levam você até certo ponto. Uma licença temporária roda na sua própria máquina, contra seus próprios documentos.