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ôtePris en charge
.NET Core 3.0 ou ultérieur, incluant .NET 5/6/7/8Oui
.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

bash
dotnet add package Doconut.NETStandard

La 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 :

bash
dotnet add package Doconut.NETStandard --version 26.8.0

Doconut.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 :

VersionCibleAPI
26.7.0 et antérieuresnetstandard2.0l'intégration précédente
26.8.0 et supérieuresnetstandard2.1l'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(), UseDoconutWebFarm et les scripts du visualiseur copiés manuellement identifient l'intégration précédente ;
  • AddDoconut(), UseDoconutResources(), un Viewer injecté, et OpenDocumentAsync(...) 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.

csharp
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 :

csharp
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;    // ConversionTarget

Les 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éfautDescription
ShowDoconutInfofalseLorsque 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.
UnsafeModefalseLorsque 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.
LicenseStreamnullLicence sous forme de flux, lue une fois au démarrage.
ResetLicensefalseDrapeau 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.

csharp
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

Cette page était-elle utile ?