PDF

Un visor de PDF que no entrega el PDF

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.

0
bytes del PDF fuente enviados al cliente
100%
renderizado del lado del servidor
1
visor también para cualquier otro formato

El problema

Tres formas de mostrar un PDF y lo que cuesta cada una

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

Qué hace el visor con un PDF

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.

Búsqueda en la capa de texto

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.

Miniaturas y navegación

Una barra de miniaturas, saltos de página, zoom y ajuste al ancho vienen con el widget. Configure showThumbs y FitType y continúe.

Anotaciones

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.

Archivos protegidos con contraseña

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.

Impresión bajo su control

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

Abrir un PDF

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

.pdf
csharp
// 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

Detalles del PDF

  • La búsqueda en la capa de texto requiere el plugin AdvancedSearch; OCR no está disponible generalmente y no debe asumirse para páginas escaneadas.
  • Las anotaciones requieren el plugin Annotation y se almacenan en su aplicación, no se escriben de nuevo en el PDF fuente.
  • Convertir PDF a Word, Excel o una imagen requiere el plugin Converter y DocumentConverter.ConvertAsync().

Preguntas frecuentes

¿Puede el usuario seguir descargando el PDF original?

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.

¿Funciona con PDFs escaneados sin capa de texto?

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.

¿Qué tan grande puede ser un PDF que maneje?

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.

Pruébalo con tus propios documentos

Una 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.