Imágenes de página paginadas
Cada página se rasteriza del lado del servidor y se entrega bajo demanda. Los documentos grandes se abren en la primera página en lugar de esperar a que se descargue todo el archivo.
El visor de PDF integrado en el navegador funciona entregando el archivo al usuario. Para un contrato, un historial médico o una oferta sellada, eso suele ser precisamente lo que se intenta evitar. Doconut renderiza las páginas del lado del servidor y envía imágenes, de modo que ver y poseer dejan de ser el mismo acto.
El problema
Servir el archivo y dejar que el navegador lo renderice: lo más simple, y entrega al usuario los bytes originales, los metadatos, los archivos adjuntos incrustados y la posibilidad de reenviarlos con un solo clic.
Distribuir un motor PDF en JavaScript: mantiene el archivo también en el navegador, añade una descarga significativa a su paquete, y aún le obliga a crear la barra de herramientas, la barra de miniaturas y el cuadro de búsqueda usted mismo.
Renderizar del lado del servidor y enviar imágenes: el usuario ve las páginas, el archivo nunca sale de su infraestructura, y el mismo mecanismo funciona para Word, Excel, CAD y correo electrónico — que suele ser el requisito que llega dos sprints después.
Capacidades
Cada página se rasteriza del lado del servidor y se entrega bajo demanda. Los documentos grandes se abren en la primera página en lugar de esperar a que se descargue todo el archivo.
Con el plugin AdvancedSearch, la búsqueda de texto completo se ejecuta contra la capa de texto del PDF, por lo que los resultados aparecen en la página correcta con el resaltado adecuado.
Una barra de miniaturas, saltos de página, zoom y ajuste al ancho vienen con el widget. Configure showThumbs y FitType y continúe.
Con el plugin Annotation: resaltados, comentarios, sellos y firmas, almacenados y exportados por su aplicación en lugar de incrustarse de nuevo en el archivo fuente.
Los PDFs encriptados se abren del lado del servidor con una contraseña que su código proporciona. La contraseña nunca llega al navegador.
La impresión es una capacidad del visor que puede exponer o retener, lo cual es una decisión diferente a si el usuario puede descargar el original.
Integración
El cliente recibe solo el token. Nunca conoce el nombre del archivo, la ubicación de almacenamiento, o que el documento era un PDF y no cualquier otro en el catálogo.
Extensiones compatibles
// Server-side: returns an opaque token, never a path or a URL
app.MapPost("/api/open", async (Viewer viewer) =>
{
string token = await viewer.OpenDocumentAsync("wwwroot/files/Contract.pdf");
return Results.Ok(new { token });
});
// For an encrypted PDF, supply the password server-side —
// it is used to decrypt in your process and goes no further.Detalles
Solo si lo implementa usted mismo. El visor entrega imágenes de página referenciadas por un token opaco, por lo que liberar el archivo fuente sigue siendo una decisión explícita en su propio código y no un efecto secundario de permitir que alguien lo lea.
Se renderizan bien como imágenes, pero no hay nada que buscar. OCR solo está disponible a través del plugin AdvancedSearch y no está generalmente disponible — el motor está siendo rebasado, así que no planifique en torno a él hoy.
Las páginas se renderizan y entregan bajo demanda en lugar de todas a la vez, por lo que la longitud del documento afecta la memoria mucho menos que la complejidad de la página. Las páginas vectoriales muy pesadas son el verdadero factor de costo, no el número de páginas.
Word
Renderizado nativo de DOC/DOCX/RTF/ODT sin instalación de Office, sin interop COM y sin automatización del lado del servidor.
WordASP.NET Core
Se registra como DI ordinario más middleware. Hereda la autenticación, el registro y el hosting que ya tienes.
ASP.NET CoreUna licencia temporal tarda unos minutos en solicitarse y se ejecuta completamente en tu propia máquina. Los archivos que importan son los que ya están rompiendo tu visor actual.