ViewerConfig
Επιλογές widget προβολέα πελάτη
ViewerConfig (namespace Doconut) περιγράφει την εμφάνιση και τη συμπεριφορά του προβολέα του προγράμματος περιήγησης. Δεν επηρεάζει την ποιότητα απόδοσης του εγγράφου· χρησιμοποιήστε μια διαμόρφωση μορφής γι' αυτό. Η κλάση C# και το παλαιό πρόσθετο JavaScript έχουν διαφορετικές προεπιλογές, επομένως αντιστοιχίστε τις τιμές ρητά.
Ιδιότητες C#
| Τύπος | Ιδιότητα | Προεπιλογή | Περιγραφή |
|---|---|---|---|
bool | ShowThumbs | true | Εμφάνιση του πίνακα μικρογραφιών. |
bool | AutoLoad | false | Αυτόματη φόρτωση μετά την αρχικοποίηση. Η κανονική ροή token καλεί το View(token) ρητά. |
bool | AutoFocus | true | Μετακίνηση της εστίασης/κύλισης του προγράμματος περιήγησης στον προβολέα κατά την αρχικοποίηση. |
bool | AutoPageFocus | true | Διατήρηση της τρέχουσας μικρογραφίας ορατής ενώ αλλάζουν οι σελίδες. |
int | PageZoom | 100 | Αρχικό ποσοστό ζουμ. |
int | ZoomStep | 10 | Ποσοστό που προστίθεται ή αφαιρείται από τις εντολές ζουμ. |
int | MaxZoom | 300 | Μέγιστο ποσοστό ζουμ. |
bool | ShowToolTip | true | Εμφάνιση του tooltip θέσης σελίδας κατά την κύλιση. |
string | ToolTipPageText | "Page " | Πρόθεμα που χρησιμοποιείται στο tooltip σελίδας. |
bool | CacheEnabled | false | Διατήρηση ενός κινούμενου παραθύρου εικόνων σελίδας στη μνήμη του προγράμματος περιήγησης. Δεν χρησιμοποιεί το localStorage. |
bool | LargeDoc | false | Προσθήκη στοιχείων σελίδας σε χρονομετρημένες παρτίδες για μεγάλα έγγραφα. |
bool | ShowHyperlinks | false | Απόδοση επικάλυψης υπερσυνδέσμων όταν η διαμόρφωση διακομιστή τα εξάγει. |
bool | FixedZoom | true | Χρήση σταθερού ποσοστού ζουμ αντί για επαναϋπολογισμό απόκρισης. |
int | FixedZoomPercent | 100 | Σταθερό ζουμ επιφάνειας εργασίας. |
int | FixedZoomPercentMobile | 75 | Σταθερό ζουμ κινητής συσκευής. |
string | BasePath | "/" | Πού ο προβολέας στέλνει αιτήματα σελίδας. Το "/" είναι ο χειριστής DocImage.axd στη ρίζα του ιστότοπου. Για μια εφαρμογή σε εικονικό κατάλογο, χρησιμοποιήστε το όνομα του καταλόγου χωρίς ένα αρχικό / (το "myapp" σημαίνει /myapp/DocImage.axd). |
string | ResPath | "doconut-res/images" | Φάκελος από τον οποίο το widget φορτώνει τις δικές του εικόνες: ο φάκελος images κάτω από το ResourcesPath, χωρίς ένα αρχικό /. |
string | FitType | "width" | "width", "height", ή κενό για να μην υπάρχει αυτόματη προσαρμογή. Το "page" δεν γίνεται αποδεκτό από το τρέχον widget. |
bool | RetryOn409 | false | Επαναπροσπάθειες αιτημάτων σελίδας που απαντούν «still rendering». Το DocImage.axd αποδίδει συγχρονισμένα και δεν στέλνει ποτέ αυτό το σήμα· αφήστε το false. |
var config = new ViewerConfig
{
ShowThumbs = true,
AutoLoad = false,
PageZoom = 100,
MaxZoom = 300,
FitType = "width",
BasePath = "/", // "/" = ο χειριστής DocImage.axd στη ρίζα του ιστότοπου (Web.config)
ResPath = "doconut-res/images", // ο φάκελος images κάτω από το ResourcesPath, χωρίς αρχικό '/'
ShowHyperlinks = true
};
// Εκδόστε το με viewer.RenderViewer("viewerEl", token, config) - δείτε την αναφορά Viewer.Δημιουργία ViewerConfig με RenderViewer
Viewer.RenderViewer(elementId, token, config) μετατρέπει ένα ViewerConfig σε script αρχικοποίησης του widget. Γράφει έξι από τις παραπάνω ιδιότητες — BasePath, ResPath, ShowThumbs, AutoLoad, PageZoom και FitType — και στη συνέχεια καλεί το View(token). Οι άλλες ιδιότητες δεν γράφονται: για MaxZoom, ShowHyperlinks, τις ρυθμίσεις ζουμ ή οποιοδήποτε callback, αρχικοποιήστε το widget μόνοι σας με τις παρακάτω επιλογές JavaScript. Δείτε το Viewer για RenderViewer.
Αντιστοίχιση C# σε JavaScript
Μην περάσετε ένα άμεσα σειριακό ViewerConfig στο docViewer(...). Τα περισσότερα κλειδιά του widget είναι camelCase, ενώ τρία καθιερωμένα κλειδιά path/fit είναι PascalCase.
| C# | JavaScript |
|---|---|
ShowThumbs | showThumbs |
AutoLoad | autoLoad |
AutoFocus | autoFocus |
AutoPageFocus | autoPageFocus |
PageZoom | pageZoom |
ZoomStep | zoomStep |
MaxZoom | maxZoom |
ShowToolTip | showToolTip |
ToolTipPageText | toolTipPageText |
CacheEnabled | cacheEnabled |
LargeDoc | largeDoc |
ShowHyperlinks | showHyperlinks |
FixedZoom | fixedZoom |
FixedZoomPercent | fixedZoomPercent |
FixedZoomPercentMobile | fixedZoomPercentMobile |
BasePath | BasePath |
ResPath | ResPath |
FitType | FitType |
RetryOn409 | retryOn409 |
Προεπιλογές JavaScript
Το widget έχει παλαιότερες προεπιλογές που διαφέρουν από την κλάση C#. Οι παρακάτω τιμές προέρχονται από την τρέχουσα υλοποίηση docViewer.js.
| Επιλογή | Προεπιλογή | Σημειώσεις |
|---|---|---|
leftMinWidth / leftMaxWidth | 220 / 800 | Όρια πλάτους του πλαισίου μικρογραφιών. |
showThumbs | true | Αρχική ορατότητα μικρογραφιών. |
autoFocus / autoPageFocus | true / false | autoPageFocus διαφέρει από την προεπιλογή C#. |
thumbWidth / thumbHeight / thumbPadding | 150 / 200 / 10 | Γεωμετρία μικρογραφιών σε εικονοστοιχεία. |
pageZoom / zoomStep / maxZoom | 100 / 10 / 200 | Το maxZoom της JavaScript διαφέρει από το C# (300). |
showToolTip / toolTipPageText | true / "Page " | Υπόδειξη θέσης σελίδας. |
format / doc / AccessToken | "" / 0 / "" | Εσωτερικές τιμές αρχικοποίησης· συνήθως γεμίζονται από View(token). |
debugMode | false | Πρόσθετες διαγνώσεις πελάτη. |
FitType | "" | Καμία αυτόματη προσαρμογή εκτός εάν δοθεί. |
BasePath | "DocImage.axd" | Παλαιότερη προεπιλογή. Ορίστε την ρητά: '/' για το χειριστή στη ρίζα του ιστότοπου. |
ResPath | "" | Ορίστε ρητά τη διαδρομή των ενσωματωμένων εικόνων. |
cacheEnabled / cacheCount / cacheDelay | false / 3 / 3 | Παράθυρο προφόρτωσης σελίδας στη μνήμη και καθυστέρηση. |
autoLoad | false | Συνιστάται ρητή ροή token. |
largeDoc | true | Διαφέρει από την προεπιλογή C#. |
fixedZoom | false | Διαφέρει από την προεπιλογή C#. |
fixedZoomPercent / fixedZoomPercentMobile | 100 / 50 | Η τιμή για κινητά διαφέρει από το C# (75). |
showHyperlinks | true | Απαιτεί εξαγωγή από τον διακομιστή για τη δημιουργία επικάλυψεων. |
Ορίστε όλες τις τιμές που είναι σημαντικές για τη συμπεριφορά αντί να βασίζεστε σε κάποιο από τα σύνολα προεπιλογών:
<div id="divDocViewer"><div id="div_ctlDoc"></div></div>
<script>
const objViewer = $('#div_ctlDoc').docViewer({
showThumbs: true,
autoLoad: false,
autoFocus: true,
autoPageFocus: true,
pageZoom: 100,
zoomStep: 10,
maxZoom: 300,
FitType: 'width',
cacheEnabled: false,
largeDoc: false,
showHyperlinks: true,
fixedZoom: true,
fixedZoomPercent: 100,
fixedZoomPercentMobile: 75,
BasePath: '/',
ResPath: 'doconut-res/images',
onViewerReady: function () {},
onError: function (message) { console.error('DocViewer:', message); }
});
</script>Κλήσεις επιστροφής
| Κλήση | Ορίσματα | Σκοπός |
|---|---|---|
onPageLoading | pageNum | Ένα αίτημα σελίδας ξεκινά. |
onPageLoaded | pageNum | Η εικόνα μιας σελίδας ολοκλήρωσε τη φόρτωση. |
onThumbnailClicked | pageNum | Ο χρήστης επέλεξε μια μικρογραφία. |
onPageClicked | pageNum | Ο χρήστης επέλεξε μια σελίδα. |
onDoubleClick | none | Ο προβολέας έλαβε διπλό κλικ. |
onViewerBusy | none | Ο προβολέας εισήλθε σε κατάσταση απασχόλησης. |
onViewerReady | none | Η αρχικοποίηση ολοκληρώθηκε. |
onViewerError | none | Ο προβολέας εισήλθε στην κατάσταση σφάλματος. |
onError | message | Μια λειτουργία επέστρεψε μήνυμα σφάλματος. |
onCopy | data | Διατίθενται δεδομένα αντιγραφής κειμένου. |
onAutoLoadStatus | pageNum | Η αυτόματη φόρτωση προχώρησε σε μια σελίδα. |
onThumbsShown | none | Το πάνελ μικρογραφιών έγινε ορατό. |
onAnnLoaded | none | Τα δεδομένα σχολιασμού φορτώθηκαν. |
onAnnSaved | none | Τα δεδομένα σχολιασμού αποθηκεύτηκαν. |
onAnnSaveError | none | Απέτυχε η αποθήκευση σχολιασμού. |
onAnnClosed | none | Το UI σχολιασμού έκλεισε. |
Κρατήστε τις κλήσεις επιστροφής γρήγορες· στείλτε τηλεμετρία ασύγχρονα και μην μπλοκάρετε την απόδοση της σελίδας.
Δημόσιες ομάδες μεθόδων
| Ομάδα | Κοινές μέθοδοι |
|---|---|
| Κύκλος ζωής | View(token, accessToken?), Close(server?), Token(), Init(), IsLoaded() |
| Πλοήγηση | GotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages() |
| Ζουμ και προσαρμογή | Zoom(zoomIn), CurrentZoom(), FitType(value), Refit() |
| Προσανατολισμός | Rotate(page, angle), Flip(page, flipType) |
| Μικρογραφίες | HideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb) |
| Αναζήτηση | CanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...) |
| Σχολιασμός | SaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...) |
| Αντιγραφή | Copy(...), CopyPage(pageNumber), CopyMode(enabled) |
Το αρχείο JavaScript περιέχει επίσης εσωτερικές βοηθητικές λειτουργίες. Θεωρήστε μόνο τις μεθόδους που χρησιμοποιούνται από το αναφορά UI και τεκμηριώνονται εδώ ή στους οδηγούς χαρακτηριστικών ως σταθερά σημεία ενσωμάτωσης.
Επιλογές επανάληψης
Το widget επίσης δέχεται retryOn409 και τις ρυθμίσεις επαναπροσέγγισής του (retryInitialDelayMs, retryBackoffFactor, retryMaxDelayMs, retryMaxAttempts, retryMaxTotalMs). Σερβίρουν εγκαταστάσεις των οποίων οι σελίδες παράγονται στο παρασκήνιο. DocImage.axd αποδίδει κάθε σελίδα κατά τη διάρκεια του αιτήματος, οπότε αφήστε το retryOn409 απενεργοποιημένο.
Λίστα ελέγχου διαδρομής
BasePathείναι'/'όταν ο χειριστήςDocImage.axdβρίσκεται στη ρίζα του site — το χαρακτηριστικόpathτου χειριστή στοWeb.configκαθορίζει πού απαντά. Σε εικονικό φάκελο, χρησιμοποιήστε το όνομα του φακέλου χωρίς αρχικό/('myapp', όχι'/myapp': ο προβολέας προσθέτει την κάθετο, και//myapp/...είναι αίτημα σε άλλο κεντρικό υπολογιστή).DoconutOptions.ResourcesPathείναι όπου το module πόρων εξυπηρετεί τα ενσωματωμένα αρχεία (/doconut-resαπό προεπιλογή).ResPathστοχεύει το υποφάκελοimagesτου, επίσης χωρίς αρχικό/('doconut-res/images'). Η κατεύθυνση του προς'doconut-res'κάνει κάθε εικονίδιο 404 ενώ το έγγραφο εξακολουθεί να αποδίδεται.- Στο MVC, το
routes.IgnoreRoute("doconut-res/{*pathInfo}")πρέπει να ακολουθεί τοResourcesPathαν το αλλάξετε. - Το
ExtractHyperlinksπρέπει να είναι ενεργοποιημένο στη διαμόρφωση μορφής του διακομιστή πριν τοshowHyperlinksμπορεί να εμφανίσει οτιδήποτε.
Ήταν αυτή η σελίδα χρήσιμη;