Construye un Visor de Documentos Auto‑alojado en .NET – Guía Paso a Paso
25/9/2026

Construye un Visor de Documentos Auto‑alojado en .NET – Guía Paso a Paso

Aprende cómo incrustar un visor de documentos rápido, seguro y auto‑alojado en una aplicación .NET usando el SDK de Doconut y ofrecer vistas previas de PDF, Office, CAD sin servicios externos.

Tendrás un visor de documentos auto‑alojado y ultrarrápido ejecutándose dentro de tu aplicación .NET

Al final de esta guía podrás abrir PDFs, archivos de Office, dibujos CAD y docenas de otros formatos directamente en el navegador, con tiempos de carga subsegundos, sin llamadas a SaaS externas y con control total sobre la seguridad.


Requisitos previos

Lo que necesitasPor qué es importante
.NET 6 o posterior (el SDK apunta a .NET 6+)Garantiza compatibilidad con el SDK de Online Document Viewer
Un servidor Windows o Linux donde puedas ejecutar tu aplicación (en las instalaciones o nube privada)El auto‑alojado requiere que el visor viva dentro de tu propia infraestructura
Acceso al feed NuGet de Online Document Viewer (https://doconut.com)El SDK se distribuye como un paquete NuGet
Conocimientos básicos de ASP.NET Core y JavaScript del clienteExpondrás un endpoint que devuelve una URL firmada y luego lanzarás el visor desde el navegador
Una ubicación de almacenamiento para los archivos fuente (sistema de archivos, almacenamiento blob, etc.)El visor renderiza archivos desde una ruta local o de red; la fuente debe ser accesible por el proceso del servidor

Faltar cualquiera de estos elementos provocará que la compilación se detenga antes de que se ejecute la primera línea de código.

Instala el SDK de Online Document Viewer

Abre tu solución en Visual Studio o en tu IDE preferido y agrega el SDK oficial mediante el administrador de NuGet:

dotnet add package Doconut.NET8

El paquete contiene el motor de renderizado, los convertidores de formato y una capa HTTP ligera que sirve las páginas generadas. Como el SDK se compila dentro de tu aplicación, no se contacta ningún servicio externo en tiempo de ejecución.

Después de restaurar el paquete, registra los servicios del SDK en Program.cs (o Startup.cs para plantillas más antiguas). El registro inyecta la canalización de renderizado en el contenedor DI de ASP.NET Core, haciéndola disponible para tus controladores.

Configura la canalización de renderizado para los formatos requeridos

El visor admite más de 50 formatos de forma nativa, incluyendo:

  • 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

Cuando llega una solicitud, el SDK determina el tipo de archivo y selecciona el conversor apropiado. Para obtener el mejor rendimiento, habilita la capa de caché incorporada que almacena la página renderizada en memoria durante la duración de la solicitud; esto es lo que brinda la experiencia de “Ultrarrápido – Renderizado instantáneo de documentos con rendimiento optimizado y carga subsegundo”.

En tu controlador, llama al método de renderizado del SDK (p.ej., RenderAsync) y pasa la ruta absoluta del archivo fuente. El método devuelve un fragmento HTML que contiene un visor basado en canvas. Como el renderizado ocurre en el servidor, el cliente solo recibe marcado listo para mostrar, lo que elimina el procesamiento intensivo del lado del cliente.

Asegura el visor con URLs basadas en tokens y restricciones opcionales

La soberanía de datos y el cumplimiento del GDPR son preocupaciones comunes para implementaciones en las instalaciones. El SDK se integra con el sistema de autenticación de ASP.NET Core, permitiéndote generar un token firmado que otorga acceso de una sola vez a un documento específico.

Flujo típico:

  1. La interfaz solicita a tu API un token de vista previa, proporcionando el identificador del documento.
  2. Tu API valida los permisos del usuario, crea un token estilo JWT que codifica la ruta del archivo y una marca de tiempo de expiración, y devuelve el token.
  3. La interfaz añade el token a la URL del visor (p.ej., /viewer?token=…). El SDK valida el token en cada solicitud y rechaza cualquier token manipulado o expirado.

Si necesitas evitar que los usuarios descarguen o impriman el documento, configura las opciones de renderizado proporcionadas por el SDK para desactivar esas acciones. La capa JavaScript del visor ocultará entonces el botón de descarga, suprimirá el atajo de impresión y bloqueará el menú contextual del clic derecho.

Verifica que todo funciona

  1. Navega a la página que aloja el visor.
  2. El documento debería aparecer en menos de un segundo, con barras de desplazamiento, controles de zoom y un cuadro de búsqueda.
  3. Si configuraste el visor para desactivar la descarga, el botón “Descargar” debería estar oculto.
  4. Al hacer clic derecho sobre el documento no debería abrirse el menú contextual del navegador cuando esa restricción está habilitada.
  5. Después de que el token expire (el valor predeterminado es 5 minutos), al recargar la página debería aparecer un error “401 Unauthorized”, confirmando que la validación del token está activa.

Si alguna de estas verificaciones falla, revisa el paso correspondiente: registro del SDK ausente, generación de token incorrecta o banderas de seguridad omitidas.