Images de pages paginées
Chaque page est rasterisée côté serveur et livrée à la demande. Les documents volumineux s'ouvrent à la première page plutôt qu'après le téléchargement complet du fichier.
Le visionneur PDF intégré du navigateur fonctionne en remettant le fichier à l'utilisateur. Pour un contrat, un dossier médical ou une offre scellée, c’est souvent exactement ce que vous essayez d'éviter. Doconut rend les pages côté serveur et envoie des images, de sorte que visualiser et posséder ne sont plus le même acte.
Le problème
Servir le fichier et laisser le navigateur le rendre : la plus simple, et elle remet à l'utilisateur les octets originaux, les métadonnées, les pièces jointes intégrées et la possibilité de tout transmettre en un clic.
Fournir un moteur PDF JavaScript : garde le fichier également dans le navigateur, ajoute un téléchargement significatif à votre bundle, et vous oblige toujours à créer vous‑même la barre d'outils, le rail de miniatures et la zone de recherche.
Rendre côté serveur et envoyer des images : l'utilisateur voit les pages, le fichier ne quitte jamais votre infrastructure, et le même mécanisme fonctionne pour Word, Excel, CAD et les e‑mails — ce qui est généralement le besoin qui apparaît deux sprints plus tard.
Capacités
Chaque page est rasterisée côté serveur et livrée à la demande. Les documents volumineux s'ouvrent à la première page plutôt qu'après le téléchargement complet du fichier.
Avec le plugin AdvancedSearch, la recherche en texte intégral s'effectue sur la couche texte du PDF, de sorte que les résultats apparaissent sur la bonne page avec le bon surlignage.
Un rail de miniatures, des sauts de page, le zoom et l'ajustement à la largeur sont fournis avec le widget. Définissez showThumbs et FitType et continuez.
Avec le plugin Annotation : surlignages, commentaires, tampons et signatures, stockés et exportés par votre application plutôt qu'intégrés au fichier source.
Les PDF chiffrés s'ouvrent côté serveur avec un mot de passe fourni par votre code. Le mot de passe n'atteint jamais le navigateur.
L'impression est une fonctionnalité du visionneur que vous pouvez exposer ou retenir, ce qui constitue une décision différente de celle de permettre à l'utilisateur de télécharger l'original.
Intégration
Le client ne reçoit que le jeton. Il ne connaît jamais le nom de fichier, l'emplacement de stockage, ni que le document était un PDF plutôt qu'autre chose dans le catalogue.
Extensions prises en charge
// 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.Détails
Seulement si vous le programmez vous‑même. Le visionneur délivre des images de pages identifiées par un jeton opaque, ainsi la diffusion du fichier source reste une décision explicite dans votre propre code plutôt qu'un effet secondaire de la simple lecture.
Ils sont rendus correctement en images, mais il n'y a rien à rechercher. L'OCR n'est disponible que via le plugin AdvancedSearch et n'est pas généralement accessible — le moteur est en cours de refonte, ne compte donc pas dessus pour l'instant.
Les pages sont rendues et livrées à la demande plutôt qu'en une fois, ainsi la longueur du document impacte la mémoire bien moins que la complexité des pages. Ce sont les pages vectorielles très lourdes qui sont le véritable facteur de coût, pas le nombre de pages.
Word
Rendu natif DOC/DOCX/RTF/ODT sans installation d'Office, sans interop COM et sans automatisation côté serveur.
WordASP.NET Core
S’enregistre comme DI ordinaire plus middleware. Hérite de l’authentification, de la journalisation et de l’hébergement que vous avez déjà.
ASP.NET CoreUne licence temporaire prend quelques minutes à demander et s'exécute entièrement sur votre propre machine. Les fichiers qui comptent sont ceux qui posent déjà problème à votre visionneuse actuelle.