Dépannage

Diagnostiquer les erreurs courantes

Chaque message ci‑dessous est le texte littéral produit par Doconut, organisé par symptôme. Trouvez votre erreur, appliquez la correction.

Le visualiseur n'affiche rien

Zone de visualisation vide, console du navigateur remplie de 404 pour /doconut-res/...
UseDoconutResources() est manquant, ou placé après UseDoconut(). Il doit être le premier dans le pipeline.

HTTP 500 avec :

text
Session middleware not configured. Call UseSession() before UseDoconut().

La sécurité par jeton de Doconut (activée par défaut) nécessite l'état de session ASP.NET. Ajoutez builder.Services.AddSession() et app.UseSession() avant la branche du middleware Doconut.

Une image d'erreur dans la zone de la page affichant :

text
You Are Not Authorized To View This Page.

Le jeton a été ouvert par une session de navigateur différente. Causes typiques : le cookie de session n'atteint pas les requêtes de la page (configuration cross‑origin, politique SameSite, client API sans jar de cookies), ou l'application a redémarré (nouvelles clés de session). Il s'agit du mécanisme de sécurité fonctionnant comme prévu — voir Concepts de base → Sessions & Sécurité.

Une image d'erreur affichant :

text
Document session not found. Please re-open document.

Le jeton a expiré (fenêtre glissante, 60 minutes par défaut — DocOptions.TimeOut) ou la session a été fermée. Ré‑ouvrez le document pour obtenir un nouveau jeton.

L'ouverture d'un document échoue

LicenseException avec un message de rejet — le fichier de licence a été trouvé mais rejeté (signature invalide, altéré, sur liste noire, ou une version hors de la fenêtre de version/mise à jour de la licence). Cet état bloque l'ouverture (échec immédiat) plutôt que de la dégrader en filigrane ; lisez License.RejectionMessage pour connaître la raison.

LicenseException :

text
This document type requires the 'Dicom' plugin license.

L'extension n'est prise en charge que par un plugin (ici : DICOM) et la capacité n'est plus accordée. Enregistrez le plugin et vérifiez lic.IsCapabilityGranted(LicenseCapability.Dicom). Un droit manquant ou insuffisant non temporaire échoue généralement plus tôt lors de AddDoconut().

FormatNotSupportedException :

text
Document format '<extension>' is not supported.

Aucun visualiseur — intégré, plugin ou personnalisé — ne prend en charge cette extension. Vérifiez la liste des formats pris en charge ; pour vos propres formats, DoconutOptions.RegisterViewer peut en ajouter un.

InvalidDataException — le contenu du fichier est corrompu ou ne correspond pas à son extension (par ex. un fichier renommé). Validez les téléchargements avant l'ouverture.

InvalidOperationException :

text
No IDocumentConverter is registered. Add the converter plugin: options.AddPlugin<Doconut.Plugins.Converter.ConverterPlugin>().

Vous avez résolu DocumentConverter sans enregistrer le plugin Converter.

Le démarrage échoue

InvalidOperationException mentionnant un plugin enregistré via AddPlugin — la licence non temporaire actuelle n'accorde pas cette capacité de plugin. Supprimez l'enregistrement ou installez une licence qui la fournit. Une licence manquante et un fichier TRIAL hérité n'accordent aucune capacité de plugin.

ArgumentException provenant de AddDoconut() :

text
DoconutOptions.MiddlewarePath must be a non-empty path starting with '/'.
DoconutOptions.ResourcesPath must be a non-empty path starting with '/'.
DoconutOptions.MiddlewarePath and ResourcesPath must be different paths.

Validation des options en échec rapide — corrigez le chemin incriminé.

Erreurs de compilation / dépendances

Erreur du compilateur CS1705, ou à l'exécution lors de l'ouverture d'un document :

text
Could not load file or assembly 'System.Text.Json, Version=10.0.0.0'

Votre projet a fixé System.Text.Json / System.Text.Encodings.Web en dessous de 10.0.x. Supprimez le rétro‑déploiement et laissez NuGet restaurer les versions déclarées par Doconut.NET8.

TypeInitializationException sur le premier fichier de présentation :

text
Could not load ... System.Drawing.Common, Version=6.0.0.0

Le moteur de présentation exige strictement System.Drawing.Common 6.0.0 (déclaré par le paquet). Ne supprimez pas ou ne remplacez pas cette dépendance — toute ouverture de PPT/PPTX/PPS/POT/ODP échoue sans elle.

La sortie semble incorrecte

Les pages portent un filigrane — l'application est en état d'évaluation : aucun fichier de licence trouvé, une fenêtre temporaire ou d'abonnement expirée, ou un domaine invalide. Inspectez IDoconutLicenseService (License.IsLicenseFileFound, IsExpired, IsVersionValid, IsValidForDomain, License.RejectionMessage) — la référence IDoconutLicenseService de la page Licensing montre un point d'accès prêt à l'emploi.

Les documents hérités affichent du texte illisible — les encodages de pages de code ne sont pas chargés par défaut sur .NET 8. Ajoutez‑les une fois au démarrage :

csharp
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

Polices incorrectes ou substituées sous Linux/Docker — le conteneur ne possède pas les polices du document. Dirigez FontFolders (sur WordConfig/PptConfig) vers un répertoire de polices monté.

Les présentations s'ouvrent mais ne s'affichent pas sous Linux/macOS — le moteur PPT/PPTX/PPS/POT/ODP actuel nécessite libgdiplus natif plus System.Drawing.EnableUnixSupport=true. Le paquet fournit System.Drawing.Common 6.0.0 car c'est la dernière version qui prend en charge cet interrupteur.

Fonctionnalité fonctionnant en évaluation, silencieuse en production

La surprise classique du passage en production : une licence Temporaire active accorde toutes les capacités ; votre licence achetée n'accorde que ce que vous avez acheté. Les ensembles de recherche et d'annotation peuvent disparaître lorsque leurs capacités sont absentes. Les plugins Converter ou DICOM enregistrés avec une licence non temporaire insuffisante échouent lors de AddDoconut(). Comparez IsCapabilityGranted(...) avec chaque fonctionnalité que vous activez avant le déploiement.

La recherche ne trouve rien (ou très peu)

  • Pour un PDF direct, AllowSearch n'était pas activé lors de l'ouverture. Word, Excel et PowerPoint exposent le même commutateur via leur PdfConfig imbriqué.
  • Le contenu est scanné/uniquement image, donc la Recherche normale n'a aucune couche de texte à faire correspondre. Utilisez une source contenant du texte ou une projection PDF qui préserve le texte.
  • HTML et MS Project (MPP) ne sont pas recherchables par défaut — définissez DefaultRender = false afin qu'ils soient rendus via une projection PDF avec une couche de texte native. Word, Excel, PowerPoint, TXT, Visio, e‑mail, EPUB et MHT sont recherchables avec leurs paramètres de catalogue par défaut.
  • objViewer.CanSearch() est false après l'initialisation — le format résolu n'a aucun chemin de recherche standard. Ce verdict est distinct de la licence de Recherche ; vérifiez les deux.

Toujours bloqué ?

Isolez le problème avec l'application Quick Start minimale ; s'il se reproduit là‑bas, contactez le support avec le document, votre Program.cs et la sortie de diagnostic de licence.

Cette page vous a-t-elle été utile ?