Installation
Ajoutez Doconut à votre projet .NET Standard 2.1
Le visualiseur de base Doconut pour .NET Standard est fourni sous forme d'un seul package NuGet qui s'intègre à n'importe quelle application ASP.NET Core. Les plugins optionnels utilisent des packages séparés. Cette page installe le package de base, confirme que votre hôte peut le consommer, et enregistre le middleware — le minimum requis avant votre premier rendu.
Vérifiez d'abord le framework hôte
La bibliothèque cible netstandard2.1. C’est un contrat plus restreint que la version précédente netstandard2.0, et c’est la première chose à vérifier :
| Hôte | Pris en charge |
|---|---|
| .NET Core 3.0 ou ultérieur, incluant .NET 5/6/7/8 | Oui |
| .NET Framework (toute version) | Non — netstandard2.1 ne peut pas être consommé par .NET Framework |
Si l'application s'exécute sur .NET Framework, ce n’est pas le bon package. Utilisez Doconut.NETFramework à la place ; à partir de la version 26.9.0 il nécessite .NET Framework 4.7.2. Les applications de référence livrées avec cette version ciblent net8.0.
Installer le package
dotnet add package Doconut.NETStandardLa commande non versionnée installe la dernière version stable. Pour reproduire exactement la version 26.8.0 actuelle, passez la version en tant qu’option séparée :
dotnet add package Doconut.NETStandard --version 26.8.0Doconut.NETStandard est l’ID du package. Le suffixe .26.8.0 appartient au nom de fichier téléchargé Doconut.NETStandard.26.8.0.nupkg et ne fait pas partie de l’ID.
Le numéro de version correspond à la génération
C’est plus important ici que le nom du package. Les deux générations de la bibliothèque .NET Standard sont publiées sous le même ID de package, et seule la version les différencie :
| Version | Cible | API |
|---|---|---|
| 26.7.0 et antérieures | netstandard2.0 | l'intégration précédente |
| 26.8.0 et supérieures | netstandard2.1 | l'intégration documentée ici |
Il n’existe aucun shim de compatibilité ni de package côte à côte. Augmenter la version est la mise à jour, et le compilateur signalera immédiatement les différences d’API.
Ne choisissez pas la documentation uniquement sur le nom du package :
new Viewer(_cache, _accessor, …),UnSafeMode,OpenDocument(...)synchrone,viewer.InitCache(),UseDoconutWebFarmet les scripts du visualiseur copiés manuellement identifient l'intégration précédente ;AddDoconut(),UseDoconutResources(), unViewerinjecté, etOpenDocumentAsync(...)identifient l'intégration actuelle documentée ici.
Le manuel d'installation précédent reste disponible. Utilisez le guide de migration pour changer de génération ; une mise à jour du package ne convertit pas automatiquement le démarrage, la durée de vie du visualiseur ou les ressources du navigateur.
Enregistrer Doconut
AddDoconut() est le seul point d’entrée d’enregistrement — il n’existe qu’une surcharge, et il branche le service Viewer, le service de licence et l’infrastructure de rendu dans le conteneur DI.
Deux appels middleware complètent la configuration, et leur ordre est important : UseDoconutResources() doit s’exécuter avant UseDoconut(). UseDoconut() est un middleware terminal, donc le placer en premier empêche toute requête vers une ressource /doconut-res d’atteindre le gestionnaire de ressources et renvoie un 404. Le câblage de session est également requis — la sécurité de document par défaut de Doconut valide chaque requête de page contre l’état de session ASP.NET.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // l'état de session nécessite un cache (MVC/Razor Pages en ajoutent déjà un)
builder.Services.AddSession(); // la sécurité des documents Doconut repose sur l'état de session ASP.NET
app.UseSession(); // appeler UseSession() avant UseDoconut()
app.UseDoconutResources(); // doit être enregistré avant UseDoconut()
app.UseDoconut();Espaces de noms
Les types de configuration ne sont plus répartis sur quatre espaces de noms. Dans cette version, presque tout vit dans l’espace de noms racine Doconut :
using Doconut; // Viewer, DoconutOptions, DocOptions, toutes les configurations de format
using Doconut.Middleware; // AddDoconut, UseDoconut, UseDoconutResources
using Doconut.Clouds; // configurations cloud et partage de fichiers
using Doconut.Configs.Conversion; // ConversionTargetLes noms de type eux‑mêmes n’ont pas changé — PdfConfig, WordConfig, ExcelConfig, CssConfig, ScriptConfig et les autres sont toujours présents. Si vous migrez une application existante, la plupart des fichiers n’ont besoin que de deux lignes using supprimées ; voir le guide de migration.
Toutes les options
DoconutOptions accepte les propriétés réglables suivantes. Chacune est optionnelle — les valeurs par défaut ci‑dessous s’appliquent lorsqu’une propriété n’est pas définie.
| Propriété | Valeur par défaut | Description |
|---|---|---|
ShowDoconutInfo | false | Lorsque true, une requête sans token renvoie une bannière de version au lieu d’un 404. Utile comme vérification rapide ; désactiver en production. |
UnsafeMode | false | Lorsque true, ignore la vérification de sécurité de session ASP.NET sur les requêtes de page. Désactiver en production. Notez l’orthographe — la bibliothèque précédente appelait cela UnSafeMode. |
MiddlewarePath | "/doconut" | Valeur de coordination pour le point de terminaison page‑image. Elle est validée, mais ne monte pas de branche par elle‑même ; maintenez‑la alignée avec le mappage réel de UseDoconut() et le BasePath du client. |
ResourcesPath | "/doconut-res" | Emplacement d’où sont servis les ressources JS/CSS/image intégrées. |
LicensePath | "" (chaîne vide) | Chemin vers le fichier de licence. Une chaîne vide signifie passer à la source suivante, puis recherche automatique. |
LicenseContent | "" (chaîne vide) | Contenu brut de la licence — provenant d’une variable d’environnement, d’un gestionnaire de secrets ou d’une base de données. |
LicenseStream | null | Licence sous forme de flux, lue une fois au démarrage. |
ResetLicense | false | Drapeau de compatibilité réservé. La licence est lue pendant AddDoconut() ; redémarrez l’application après avoir remplacé une licence. |
Priorité des licences lorsqu’il y a plusieurs sources : LicenseStream l’emporte sur LicenseContent, qui l’emporte sur LicensePath, qui l’emporte sur la recherche automatique — voir la Configuration de licence.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // coordonner avec le mappage de l'application et le BasePath du client
options.ResourcesPath = "/doconut-res"; // où les JS/CSS/images du visualiseur sont servis
options.UnsafeMode = false; // garder la sécurité de session activée
options.ShowDoconutInfo = false;
});Étapes suivantes
- Démarrage rapide — ouvrez votre premier document et affichez‑le dans le navigateur.
- Configuration de licence — où Doconut recherche votre fichier de licence.
Cette page était-elle utile ?