Αντιμετώπιση προβλημάτων
Διάγνωση κοινών σφαλμάτων
Κάθε μήνυμα παρακάτω είναι το κυριολεκτικό κείμενο που παράγει το Doconut, οργανωμένο κατά σύμπτωμα. Βρείτε το σφάλμα σας, εφαρμόστε τη διόρθωση.
Ο προβολέας δεν εμφανίζει τίποτα
Κενή περιοχή προβολέα, η κονσόλα του προγράμματος περιήγησης γεμάτη 404 για /doconut-res/...
UseDoconutResources() λείπει ή τοποθετείται μετά το UseDoconut(). Πρέπει να είναι πρώτο στην αλυσίδα επεξεργασίας.
HTTP 500 με:
Session middleware not configured. Call UseSession() before UseDoconut().Η ασφάλεια token του Doconut (ενεργοποιημένη από προεπιλογή) απαιτεί κατάσταση συνεδρίας ASP.NET. Προσθέστε builder.Services.AddSession() και app.UseSession() πριν από το κλαδί μεσασόφτ του Doconut.
Μια εικόνα σφάλματος στην περιοχή της σελίδας με κείμενο:
You Are Not Authorized To View This Page.Το token άνοιξε από διαφορετική συνεδρία προγράμματος περιήγησης. Συνηθισμένες αιτίες: το cookie της συνεδρίας δεν φτάνει στα αιτήματα της σελίδας (ρύθμιση cross-origin, πολιτική SameSite, πελάτης API χωρίς cookie jar), ή η εφαρμογή επανεκκίνησε (νέα κλειδιά συνεδρίας). Αυτό είναι το επίπεδο ασφαλείας που λειτουργεί όπως σχεδιάστηκε — δείτε τις Βασικές Έννοιες → Συνεδρίες & Ασφάλεια.
Μια εικόνα σφάλματος με κείμενο:
Document session not found. Please re-open document.Το token έληξε (παράθυρο κύλισης, προεπιλογή 60 λεπτά — DocOptions.TimeOut) ή η συνεδρία έκλεισε. Ανοίξτε ξανά το έγγραφο για ένα νέο token.
Το άνοιγμα ενός εγγράφου αποτυγχάνει
LicenseException με μήνυμα απόρριψης — το αρχείο άδειας βρέθηκε αλλά απορρίφθηκε (μη έγκυρη υπογραφή, παραποιημένο, στη μαύρη λίστα, ή έκδοση εκτός του παραθύρου έκδοσης/ενημέρωσης της άδειας). Αυτή η κατάσταση εμποδίζει το άνοιγμα (fail‑fast) αντί να μετατραπεί σε υδατογράφημα· διαβάστε License.RejectionMessage για τον λόγο.
LicenseException:
This document type requires the 'Dicom' plugin license.Η επέκταση διαχειρίζεται μόνο από ένα plugin (εδώ: DICOM) και η δυνατότητα δεν χορηγείται πλέον. Καταχωρίστε το plugin και επαληθεύστε lic.IsCapabilityGranted(LicenseCapability.Dicom). Μια ελλιπής ή ανεπαρκής μη‑προσωρινή άδεια συνήθως αποτυγχάνει νωρίτερα κατά το AddDoconut().
FormatNotSupportedException:
Document format '<extension>' is not supported.Κανένας προβολέας — ενσωματωμένος, plugin ή προσαρμοσμένος — δεν υποστηρίζει αυτήν την επέκταση. Ελέγξτε τη λίστα υποστηριζόμενων μορφών· για τις δικές σας μορφές, το DoconutOptions.RegisterViewer μπορεί να προσθέσει μία.
InvalidDataException — το περιεχόμενο του αρχείου είναι κατεστραμμένο ή δεν ταιριάζει με την επέκταση του (π.χ. ένα μετονομασμένο αρχείο). Επικυρώστε τα ανεβάσματα πριν το άνοιγμα.
InvalidOperationException:
No IDocumentConverter is registered. Add the converter plugin: options.AddPlugin<Doconut.Plugins.Converter.ConverterPlugin>().Αντιμετωπίσατε το DocumentConverter χωρίς να καταχωρίσετε το plugin Converter.
Η εκκίνηση αποτυγχάνει
InvalidOperationException που αναφέρει ένα plugin καταχωρημένο μέσω AddPlugin — η τρέχουσα μη‑προσωρινή άδεια δεν χορηγεί αυτήν τη δυνατότητα plugin. Αφαιρέστε την καταχώρηση ή εγκαταστήστε μια άδεια που το παρέχει. Μια ελλιπής άδεια και ένα παλιό αρχείο TRIAL δεν παρέχουν δυνατότητες plugin.
ArgumentException from 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.Επικύρωση επιλογών fail‑fast — διορθώστε τη λανθασμένη διαδρομή.
Σφάλματα κατασκευής / εξαρτήσεων
Σφάλμα μεταγλώττισης CS1705, ή κατά το χρόνο εκτέλεσης όταν ανοίγετε ένα έγγραφο:
Could not load file or assembly 'System.Text.Json, Version=8.0.0.0'Το έργο σας έδωσε σταθερή έκδοση στο System.Text.Json ή System.Text.Encodings.Web κάτω από τις εξαρτήσεις 8.0.x που δηλώνει το Doconut.NET6. Αφαιρέστε την υποβάθμιση και αφήστε το NuGet να επαναφέρει το γράφημα πακέτων (System.Text.Json 8.0.6 και System.Text.Encodings.Web 8.0.0 στο ελεγχόμενο πακέτο 26.7.0).
TypeInitializationException στο πρώτο αρχείο παρουσίασης:
Could not load ... System.Drawing.Common, Version=6.0.0.0Η μηχανή παρουσίασης απαιτεί αυστηρά το System.Drawing.Common 6.0.0 (δηλωμένο από το πακέτο). Μην αφαιρέσετε ή παρακάμψετε αυτήν την εξάρτηση — κάθε άνοιγμα PPT/PPTX/PPS/POT/ODP αποτυγχάνει χωρίς αυτήν.
Η έξοδος φαίνεται λανθασμένη
Οι σελίδες εμφανίζουν υδατογράφημα — η εφαρμογή βρίσκεται σε κατάσταση αξιολόγησης: δεν βρέθηκε αρχείο άδειας, λήξη προσωρινής ή συνδρομητικής περιόδου, ή μη έγκυρος τομέας. Εξετάστε το IDoconutLicenseService (License.IsLicenseFileFound, IsExpired, IsVersionValid, IsValidForDomain, License.RejectionMessage) — η αναφορά στη σελίδα Αδειοδότησης του IDoconutLicenseService δείχνει ένα έτοιμο endpoint.
Τα παλιά έγγραφα εμφανίζουν παραμορφωμένο κείμενο — οι κωδικοποιήσεις κωδικοσελίδων δεν φορτώνονται από προεπιλογή στο .NET 6. Προσθέστε μία φορά κατά την εκκίνηση:
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);Λάθος ή αντικατεστημένες γραμματοσειρές σε Linux/Docker — το κοντέινερ δεν διαθέτει τις γραμματοσειρές του εγγράφου. Κατευθύνετε το FontFolders (στο WordConfig/PptConfig) σε έναν προσαρτημένο φάκελο γραμματοσειρών.
Οι παρουσιάσεις ανοίγουν αλλά αποτυγχάνουν στην απόδοση σε Linux/macOS — ο τρέχων renderer PPT/PPTX/PPS/POT/ODP απαιτεί το τοπικό libgdiplus συν System.Drawing.EnableUnixSupport=true. Το πακέτο παρέχει System.Drawing.Common 6.0.0 επειδή αυτή είναι η τελευταία έκδοση που σέβεται αυτήν τη ρύθμιση.
Η λειτουργία λειτουργούσε στην αξιολόγηση, αλλά είναι σιωπηλή στην παραγωγή
Η κλασική έκπληξη κατά τη μετάβαση σε παραγωγή: μια ενεργή προσωρινή άδεια χορηγεί κάθε δυνατότητα· η αγορασμένη άδεια χορηγεί μόνο όσα αγοράσατε. Τα πακέτα αναζήτησης και σχολιασμού μπορούν να εξαφανιστούν όταν λείπουν οι δυνατότητες τους. Τα καταχωρημένα plugins Converter ή DICOM με ανεπαρκή μη‑προσωρινή άδεια αποτυγχάνουν κατά το AddDoconut(). Συγκρίνετε το IsCapabilityGranted(...) με κάθε δυνατότητα που ενεργοποιείτε πριν την ανάπτυξη.
Η Αναζήτηση δεν βρίσκει τίποτα (ή πολύ λίγα)
- Για άμεσο PDF, το
AllowSearchδεν ήταν ενεργοποιημένο κατά το άνοιγμα. Το Word, Excel και PowerPoint εκθέτουν την ίδια ρύθμιση μέσω του ενσωματωμένουPdfConfig. - Το περιεχόμενο είναι σκαναρισμένο/μόνο εικόνα, έτσι η κανονική Αναζήτηση δεν έχει στρώμα κειμένου για αντιστοίχιση. Χρησιμοποιήστε πηγή με κείμενο ή μια προβολή PDF που διατηρεί το κείμενο.
- Το HTML και το MS Project (MPP) δεν είναι αναζητήσιμα από προεπιλογή — ορίστε
DefaultRender = falseώστε να αποδίδονται μέσω προβολής PDF με εγγενές στρώμα κειμένου. Το Word, Excel, PowerPoint, TXT, Visio, email, EPUB και MHT αναζητούνται από τις προεπιλογές του καταλόγου τους. objViewer.CanSearch()είναιfalseμετά την αρχικοποίηση — η μορφή που επιλύθηκε δεν έχει τυπική διαδρομή αναζήτησης. Αυτό το αποτέλεσμα είναι ξεχωριστό από την άδεια Αναζήτησης· επαληθεύστε και τα δύο.
Ακόμα κολλάτε;
Απομονώστε το πρόβλημα με την ελάχιστη εφαρμογή Quick Start· αν επαναληφθεί εκεί, επικοινωνήστε με την υποστήριξη με το έγγραφο, το Program.cs σας και την έξοδο διάγνωσης άδειας.
Ήταν αυτή η σελίδα χρήσιμη;