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 du visualiseur 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 :
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 middleware Doconut.
Une image d’erreur dans la zone de la page indiquant :
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 jarre à cookies), ou l’application a redémarré (nouvelles clés de session). Il s’agit du mécanisme de sécurité qui fonctionne comme prévu — voir Concepts de base → Sessions & Sécurité.
Une image d’erreur indiquant :
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. Rouvrez 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 passer à un filigrane ; lisez License.RejectionMessage pour connaître la raison.
LicenseException :
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). Une attribution manquante ou insuffisante (non temporaire) échoue généralement plus tôt lors de AddDoconut().
FormatNotSupportedException :
Document format '<extension>' is not supported.Aucun visualiseur — intégré, plugin ou personnalisé — ne reconnaît cette extension. Consultez 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 :
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 ne confère pas cette capacité de plugin. Supprimez l’enregistrement ou installez une licence qui la confère. Une licence manquante et un fichier TRIAL hérité n’accordent aucune capacité de plugin.
ArgumentException provenant de AddDoconut() :
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 immédiat — corrigez le chemin incriminé.
Erreurs de compilation / dépendances
Erreur du compilateur CS1705, ou à l’exécution lors de l’ouverture d’un document :
Could not load file or assembly 'System.Text.Json, Version=8.0.0.0'Votre projet a fixé System.Text.Json ou System.Text.Encodings.Web en dessous de la version 8.0.x déclarée par Doconut.NET6. Supprimez le rétro‑downgrade et laissez NuGet restaurer le graphe de paquets (System.Text.Json 8.0.6 et System.Text.Encodings.Web 8.0.0 dans le paquet auditée 26.7.0).
TypeInitializationException sur le premier fichier de présentation :
Could not load ... System.Drawing.Common, Version=6.0.0.0Le moteur de présentation exige strictement System.Drawing.Common 6.0.0 (déclaré par le paquet). Ne supprimez pas et 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 mode é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 de la page Licensing à IDoconutLicenseService montre un point d’accès prêt à l’emploi.
Les documents anciens affichent du texte illisible — les encodages de pages de code ne sont pas chargés par défaut sous .NET 6. Ajoutez une fois au démarrage :
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);Polices incorrectes ou substituées sous Linux/Docker — le conteneur ne possède pas les polices du document. Pointez FontFolders (sur WordConfig/PptConfig) vers un répertoire de polices monté.
Les présentations s’ouvrent mais ne se rendent pas sous Linux/macOS — le rendu 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 respecte 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,
AllowSearchn’était pas activé lors de l’ouverture. Word, Excel et PowerPoint exposent le même commutateur via leurPdfConfigimbriqué. - Le contenu est scanné/uniquement image, donc la recherche normale n’a aucune couche 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 = falseafin qu’ils se rendent via une projection PDF avec une couche texte native. Word, Excel, PowerPoint, TXT, Visio, e‑mail, EPUB et MHT recherchent selon leurs paramètres de catalogue par défaut. objViewer.CanSearch()renvoiefalseaprès l’initialisation — le format résolu n’a pas de 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 ; si le problème se reproduit, contactez le support avec le document, votre Program.cs et la sortie de diagnostic de licence.
Cette page vous a-t-elle été utile ?