Você terá um visualizador de documentos auto‑hospedado e ultra‑rápido rodando dentro da sua aplicação .NET
Ao final deste guia, você poderá abrir PDFs, arquivos Office, desenhos CAD e dezenas de outros formatos diretamente no navegador, com tempos de carregamento subsegundos, sem chamadas a SaaS externas e com controle total sobre a segurança.
Pré‑requisitos
| O que você precisa | Por que isso importa |
|---|---|
| .NET 6 ou posterior (o SDK tem como alvo .NET 6+) | Garante compatibilidade com o SDK do Visualizador de Documentos Online |
| Um servidor Windows ou Linux onde você pode executar sua aplicação (on‑premise ou nuvem privada) | Auto‑hospedagem requer que o visualizador esteja dentro da sua própria infraestrutura |
| Acesso ao feed NuGet do Visualizador de Documentos Online (https://doconut.com) | O SDK é distribuído como um pacote NuGet |
| Conhecimento básico de ASP.NET Core e JavaScript front‑end | Você exporá um endpoint que retorna uma URL assinada e então lançará o visualizador a partir do navegador |
| Um local de armazenamento para os arquivos de origem (sistema de arquivos, armazenamento em blob, etc.) | O visualizador renderiza arquivos a partir de um caminho local ou de rede; a origem deve ser acessível ao processo do servidor |
Faltar qualquer um desses itens fará com que a compilação pare antes da primeira linha de código ser executada.
Instale o SDK do Visualizador de Documentos Online
Abra sua solução no Visual Studio ou na sua IDE preferida e adicione o SDK oficial via o gerenciador NuGet:
dotnet add package Doconut.NET8
O pacote contém o motor de renderização, conversores de formato e uma camada HTTP leve que serve as páginas geradas. Como o SDK é compilado na sua aplicação, nenhum serviço externo é contatado em tempo de execução.
Depois que o pacote for restaurado, registre os serviços do SDK em Program.cs (ou Startup.cs para templates mais antigos). O registro injeta o pipeline de renderização no contêiner DI do ASP.NET Core, tornando‑o disponível para seus controladores.
Configure o pipeline de renderização para os formatos necessários
O visualizador suporta mais de 50 formatos nativamente, incluindo:
- PDF, DOC, DOCX, ODT, RTF
- XLS, XLSX, CSV, ODS
- PPT, PPTX, ODP
- DWG, DXF, DGN (CAD)
- PSD, SVG, TIFF, WEBP, ICO
- EML, MSG, EPUB, MOBI, MPP, VSD
Quando uma solicitação chega, o SDK determina o tipo de arquivo e seleciona o conversor apropriado. Para melhor desempenho, habilite a camada de cache integrada que armazena a página renderizada na memória durante a solicitação; isso é o que proporciona a experiência “Ultra‑rápida – Renderização instantânea de documentos com desempenho otimizado e carregamento subsegundo”.
No seu controlador, chame o método de renderização do SDK (por exemplo, RenderAsync) e passe o caminho absoluto do arquivo de origem. O método retorna um fragmento HTML que contém um visualizador baseado em canvas. Como a renderização ocorre no servidor, o cliente recebe apenas a marcação pronta para exibir, eliminando o processamento pesado no lado do cliente.
Proteja o visualizador com URLs baseadas em token e restrições opcionais
Soberania de dados e conformidade com GDPR são preocupações comuns para implantações on‑premise. O SDK integra‑se ao sistema de autenticação do ASP.NET Core, permitindo gerar um token assinado que concede acesso único a um documento específico.
Fluxo típico:
- O front‑end solicita ao seu API um token de pré‑visualização, fornecendo o identificador do documento.
- Seu API valida as permissões do usuário, cria um token no estilo JWT que codifica o caminho do arquivo e um carimbo de tempo de expiração, e retorna o token.
- O front‑end anexa o token à URL do visualizador (por exemplo,
/viewer?token=…). O SDK valida o token em cada solicitação e rejeita qualquer token adulterado ou expirado.
Se precisar impedir que usuários baixem ou imprimam o documento, configure as opções de renderização fornecidas pelo SDK para desativar essas ações. A camada JavaScript do visualizador então ocultará o botão de download, suprimirá o atalho de impressão e bloqueará o menu de contexto do botão direito.
Verifique se tudo funciona
- Navegue até a página que hospeda o visualizador.
- O documento deve aparecer em menos de um segundo, com barras de rolagem, controles de zoom e uma caixa de pesquisa.
- Se você configurou o visualizador para desativar o download, o botão “Download” deve estar oculto.
- Clicar com o botão direito no documento não deve abrir o menu de contexto do navegador quando essa restrição estiver ativada.
- Após a expiração do token (o padrão é 5 minutos), atualizar a página deve retornar um erro “401 Unauthorized”, confirmando que a validação do token está ativa.
Se alguma dessas verificações falhar, revise a etapa correspondente: registro do SDK ausente, geração de token incorreta ou flags de segurança omitidas.
