Adicione um visualizador de documentos ao seu próprio aplicativo ASP.NET
01/08/2023

Adicione um visualizador de documentos ao seu próprio aplicativo ASP.NET

Você tem aberto arquivos aqui. Colocar o mesmo renderizador dentro do seu próprio aplicativo ASP.NET muda uma coisa que importa: onde o documento vai.

Você tem deixado arquivos neste site para lê-los. Em algum momento alguém pergunta se a mesma coisa pode viver dentro da aplicação em que você trabalha — um processo, uma reclamação, um desenho, aberto na sua própria página em vez de ser baixado. Pode, e a decisão é menor do que parece, porque apenas uma coisa realmente muda.

VISUALIZADOR DE DOCUMENTOS ASP.NET
VISUALIZADOR DE DOCUMENTOS ASP.NET

A única coisa que muda: onde o arquivo vai

Aqui, você envia um documento para nós, ele é renderizado e é excluído quando você o fecha. Esse é o acordo certo para um arquivo que foi enviado a você uma vez e que você quer ler agora.

É o acordo errado para um documento que não é seu para mover. Um prontuário médico, um contrato assinado, um desenho sob NDA — esses não podem deixar sua infraestrutura, e nenhuma promessa de exclusão resolve isso, porque o arquivo ainda viajou. Incorporar o renderizador inverte isso: o documento é aberto pelo seu servidor, dentro da sua rede, e o que chega ao navegador é uma renderização. O arquivo nunca se move.

Essa é a razão para incorporar. Todo o resto é detalhe.

É um componente, não um widget

A parte que as pessoas entendem errado primeiro: isso não é JavaScript que abre o arquivo no navegador. É um componente .NET nativo que você referencia no seu projeto, e a renderização acontece no servidor. Sua página recebe o resultado.

Duas consequências seguem. A boa: o navegador não instala nada — nenhum plugin, nenhum ActiveX, nenhum leitor — então funciona da mesma forma em um desktop bloqueado como em um telefone. A que você deve planejar: seu servidor faz o trabalho, então um PDF de 200 páginas e um desenho de 40 MB não são a mesma requisição. Dimensione a máquina para o maior arquivo que você aceitará e recuse tudo que for maior no upload.

O que você precisa decidir antes de começar

Três perguntas, e nenhuma delas é sobre o visualizador:

  • De onde os documentos vêm — um banco de dados, um compartilhamento de arquivos, armazenamento em blob?
  • Quem tem permissão para ver este documento, e o URL do visualizador impõe isso ou apenas supõe? Um endpoint de renderização que responde a qualquer pessoa com o ID do documento é o clássico buraco.
  • O que acontece com os arquivos temporários que a renderização produz, e quando.

Responda a essas perguntas e a integração em si será curta. Deixe-as para depois e você acabará retrofitando autorização em um visualizador que já funciona, o que é pior.

Onde ele roda

.NET Framework 4.0 ou superior, e .NET Standard 2.0 ou superior — portanto WebForms, MVC, ASP.NET Core, Blazor Server e contêineres Linux. O Office não precisa estar instalado no servidor; o renderizador lê os formatos diretamente.

Se você só quer ler um arquivo hoje, é isso que o visualizador de PDF e o resto dos visualizadores aqui oferecem. Se for a aplicação que você está pensando, o componente, seus pacotes e sua documentação de API estão em Doconut.com.