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 necesitas | Por 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 cliente | Expondrá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:
- La interfaz solicita a tu API un token de vista previa, proporcionando el identificador del documento.
- 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.
- 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
- Navega a la página que aloja el visor.
- El documento debería aparecer en menos de un segundo, con barras de desplazamiento, controles de zoom y un cuadro de búsqueda.
- Si configuraste el visor para desactivar la descarga, el botón “Descargar” debería estar oculto.
- Al hacer clic derecho sobre el documento no debería abrirse el menú contextual del navegador cuando esa restricción está habilitada.
- 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.
