Διαδικασία Απόδοσης
Από το έγγραφο στις εικόνες σελίδας
Μεταξύ του OpenDocumentAsync και του PNG που φθάνει στον περιηγητή υπάρχουν δύο ξεχωριστά στάδια: επίλυση προβολέα (ποιος κινητήρας φορτώνει το έγγραφο, αποφασίζεται μία φορά ανά άνοιγμα) και επεξεργασία σελίδας (τι συμβαίνει σε κάθε εικόνα σελίδας σε κάθε αίτηση στο DocImage.axd). Η γνώση και των δύο εξηγεί γιατί ένα μορφότυπο αποδίδει όπως αποδίδει — και τι αλλάζει πραγματικά το DefaultRender.
Στάδιο 1 — Επίλυση του προβολέα μορφής
- Προσαρμοσμένοι προβολείς πρώτα. Οτιδήποτε καταχωρίσατε με
DoconutOptions.RegisterViewer(extension, factory, defaultConfig?)κερδίζει έναντι όλων των ενσωματωμένων. - Προβολείς οικογένειας ενσωματωμένοι. Ο κατάλογος αντιστοιχίζει κάθε επεκτάσιμη επέκταση σε μια οικογένεια προβολέα — Word, Excel, PowerPoint, Pdf, Cad, Dgn, Image, Tiff, Psd, Email, Visio, Project, Xps, Epub, Txt, Html, Mht, Dcn — καθένας με τον δικό του προσαρμογέα κινητήρα. Εάν ένα αδειοδοτημένο πρόσθετο προσφέρει προβολέα για την ίδια επέκταση, ο προβολέας του πρόσθετου αντικαθιστά τον ενσωματωμένο.
- Μορφές μόνο-πρόσθετο. Ορισμένες επεκτάσεις δεν έχουν καθόλου ενσωματωμένο προβολέα — το DICOM (
.dcm,.ima) υπάρχει μόνο μέσω του πρόσθετου DICOM. Το άνοιγμα ενός χωρίς την απαιτούμενη δυνατότητα ρίχνει:
LicenseException: This document type requires the 'Dicom' plugin license.Μια επέκταση που δεν αναγνωρίζεται από κανέναν προβολέα προκαλεί FormatNotSupportedException.
Μετά την επίλυση, η διαμόρφωση καθορίζεται: το ρητό αντικείμενο διαμόρφωσης εάν το περάσατε, διαφορετικά η προεπιλεγμένη διαμόρφωση της μορφής από τον κατάλογο. Το DocOptions.Password αντιγράφεται στη διαμόρφωση για προστατευμένα έγγραφα.
Στάδιο 1β — Λειτουργία ανακατεύθυνσης (DefaultRender = false)
Οι περισσότερες διαμορφώσεις ανά μορφή εκθέτουν μια σημαία DefaultRender. Επιλέγει μεταξύ δύο θεμελιωδώς διαφορετικών διαδρομών:
DefaultRender = true— το έγγραφο αποδίδεται εγγενώς, απευθείας σε εικόνες σελίδας.DefaultRender = false— το έγγραφο πρώτα μετατρέπεται σε PDF στη μνήμη, ο αρχικός κινητήρας απελευθερώνεται, και ένας προβολέας PDF αναλαμβάνει. Το παραγόμενο PDF περιέχει πραγματικό κείμενο, έτσι η πλήρης αναζήτηση κειμένου λαμβάνει ακριβείς εγγενείς επισημάνσεις· η διαδικασία ενεργοποιεί ταAllowSearchκαιAllowCopyγια το ανακατευθυνόμενο PDF, επειδή η μετατροπή είναι αόρατη στον χρήστη.
Το XPS, και το MHT από προεπιλογή, χρησιμοποιούν τη διαδρομή ανακατεύθυνσης. Μια προβολή PDF παρέχει εγγενή αναζήτηση σε μορφές όπως HTML και Microsoft Project. Εάν το παραγόμενο PDF περιέχει εικόνες χωρίς στρώση κειμένου, αυτά τα pixel δεν μπορούν να αναζητηθούν.
Χρησιμοποιήστε τη λειτουργία ανακατεύθυνσης όταν χρειάζεστε μια αναζητήσιμη, φέρουσα κείμενο προβολή — με το κόστος μιας προκαταρκτικής μετατροπής κατά το άνοιγμα του εγγράφου.
Στάδιο 2 — Η διαδικασία εικόνας σελίδας
Κάθε αίτηση σελίδας στο DocImage.axd εκτελεί μια σταθερή ακολουθία:
raw page PNG → watermark → rotate/flip → scale → annotation burn → PNG to the response- Υδατογράφημα — εφαρμόζεται από την κατάσταση της άδειας (χωρίς άδεια, ληγμένη προσωρινή ή συνδρομητική άδεια, μη έγκυρο domain, έκδοση εκτός των εκδόσεων της άδειας) και από το
DocOptions.Watermarkγια το δικό σας κείμενο. Ένας αδειοδοτημένος ιστότοπος χωρίς προσαρμοσμένο υδατογράφημα παραλείπει αυτό το βήμα. - Περιστροφή/αναστροφή — η κατάσταση ανά σελίδα που ο χρήστης ορίζει στο widget (90°/180°/270°, οριζόντιες και κάθετες αναστροφές) αποθηκεύεται στη συνεδρία και εφαρμόζεται σε κάθε επόμενη απόδοση αυτής της σελίδας.
- Κλιμάκωση — μικρογραφίες και επίπεδα ζουμ παράγονται με κλιμάκωση της αποδοθείσας σελίδας στο ζητούμενο μέγεθος.
- Καψίματα σημειώσεων — αποθηκευμένες σημειώσεις σχεδιάζονται πάνω στο bitmap, ώστε οι εξαγωγές και οι εικόνες σελίδας να τις εμφανίζουν.
- Κωδικοποίηση — το αποτέλεσμα κωδικοποιείται ως PNG και γράφεται απευθείας στην απόκριση.
Τα σφάλματα μέσα στον χειριστή επιστρέφονται ως εικόνες σφάλματος PNG (κόκκινο κείμενο σε λευκό) με κατάσταση 200, αντί για σελίδες σφάλματος HTTP, ώστε το widget να μπορεί να τις εμφανίσει στην περιοχή της σελίδας.
Κρυφή μνήμη σελίδων
BaseConfig.CachePages (προεπιλογή true) διατηρεί τις αποδοθείσες εικόνες σελίδας στη μνήμη για τη διάρκεια της συνεδρίας του εγγράφου, έτσι η επανεπίσκεψη μιας σελίδας δεν την αποδίδει ξανά. Το BaseConfig.ImageResolution (25–300 DPI, 0 = η προεπιλογή της μορφής) είναι ο κύριος δείκτης ποιότητας και μνήμης· η προεπιλογή κάθε μορφής αναφέρεται στα Ρυθμίσεις Μορφής.
Σε έναν μόνο κόμβο, οι συνεδρίες και οι αποθηκευμένες σελίδες ζουν στη μνήμη της διεργασίας εργαζόμενου. Ένα επανασχέδιο της ομάδας εφαρμογών — προγραμματισμένο ή ενεργοποιημένο από επεξεργασία του Web.config ή από λήξη αδράνειας — καταργεί κάθε ανοιχτή συνεδρία εγγράφου, και το widget τότε εμφανίζει Document session not found. Please re-open document. Σε κατανεμημένη λειτουργία (δείτε Συνεδρίες & Ασφάλεια), μια συνεδρία ανακατασκευάζεται από το κοινόχρηστο αποθηκευτικό χώρο.
Πού να ρυθμίσετε τι
| Θέλετε | Ρύθμιση |
|---|---|
| Πιο καθαρές σελίδες | ImageResolution στη διαμόρφωση μορφής |
| Ακριβής αναζήτηση κειμένου σε HTML, EPUB, email, MHT ή MPP | DefaultRender = false στη διαμόρφωση μορφής |
| Μικρότερη μνήμη σε τεράστια έγγραφα | CachePages = false, και κλείστε τις συνεδρίες ρητά |
| Η δική σας σφραγίδα σε κάθε σελίδα | DocOptions.Watermark |
Ήταν αυτή η σελίδα χρήσιμη;