ViewerConfig
Options du widget de visualisation client
ViewerConfig (namespace Doconut) décrit l'apparence et le comportement du visualiseur du navigateur. Il n'affecte pas la qualité du rendu du document ; utilisez une configuration de format pour cela. La classe C# et le plugin JavaScript hérité ont des valeurs par défaut différentes, il faut donc mapper les valeurs explicitement.
Propriétés C#
| Type | Propriété | Valeur par défaut | Description |
|---|---|---|---|
bool | ShowThumbs | true | Afficher le panneau des miniatures. |
bool | AutoLoad | false | Charger automatiquement après l'initialisation. Le flux de jetons normal appelle View(token) explicitement. |
bool | AutoFocus | true | Déplacer le focus/scroll du navigateur vers le visualiseur pendant l'initialisation. |
bool | AutoPageFocus | true | Conserver la miniature actuelle visible pendant le changement de pages. |
int | PageZoom | 100 | Pourcentage de zoom initial. |
int | ZoomStep | 10 | Pourcentage ajouté ou retiré par les commandes de zoom. |
int | MaxZoom | 300 | Pourcentage de zoom maximal. |
bool | ShowToolTip | true | Afficher l'infobulle de position de page pendant le défilement. |
string | ToolTipPageText | "Page " | Préfixe utilisé dans l'infobulle de page. |
bool | CacheEnabled | false | Conserver une fenêtre mobile d'images de pages dans la mémoire du navigateur. Il n'utilise pas localStorage. |
bool | LargeDoc | false | Ajouter les éléments de page par lots temporisés pour les gros documents. |
bool | ShowHyperlinks | false | Rendre les superpositions de liens hypertexte lorsque la configuration du serveur les a extraites. |
bool | FixedZoom | true | Utiliser un pourcentage de zoom fixe plutôt qu'un recalcul réactif. |
int | FixedZoomPercent | 100 | Zoom fixe pour le bureau. |
int | FixedZoomPercentMobile | 75 | Zoom fixe pour le mobile. |
string | BasePath | "/" | Où le visualiseur envoie les requêtes de page. "/" est le gestionnaire DocImage.axd à la racine du site. Pour une application dans un répertoire virtuel, utilisez le nom du répertoire sans un / initial ("myapp" signifie /myapp/DocImage.axd). |
string | ResPath | "doconut-res/images" | Dossier d'où le widget charge ses propres images : le dossier images sous ResourcesPath, sans un / initial. |
string | FitType | "width" | "width", "height", ou vide pour aucun ajustement automatique. "page" n'est pas accepté par le widget actuel. |
bool | RetryOn409 | false | Réessaie les requêtes de page qui répondent « still rendering ». DocImage.axd rend de façon synchrone et n'envoie jamais ce signal ; laissez‑le false. |
var config = new ViewerConfig
{
ShowThumbs = true,
AutoLoad = false,
PageZoom = 100,
MaxZoom = 300,
FitType = "width",
BasePath = "/", // "/" = le gestionnaire DocImage.axd à la racine du site (Web.config)
ResPath = "doconut-res/images", // le dossier images sous ResourcesPath, pas de '/' initial
ShowHyperlinks = true
};
// Émettez‑le avec viewer.RenderViewer("viewerEl", token, config) - voir la référence Viewer.Générer un ViewerConfig avec RenderViewer
Viewer.RenderViewer(elementId, token, config) transforme un ViewerConfig en script d'initialisation du widget. Il écrit six des propriétés ci‑dessus — BasePath, ResPath, ShowThumbs, AutoLoad, PageZoom et FitType — puis appelle View(token). Les autres propriétés ne sont pas écrites : pour MaxZoom, ShowHyperlinks, les réglages de zoom, ou tout rappel, initialisez le widget vous‑même avec les options JavaScript ci‑dessous. Voir Visionneuse pour RenderViewer.
Correspondance C# vers JavaScript
Ne transmettez pas un ViewerConfig directement sérialisé à docViewer(...). La plupart des clés du widget sont en camelCase, tandis que trois clés de chemin/ajustement établies sont en 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 |
Valeurs par défaut JavaScript
Le widget possède des valeurs par défaut plus anciennes qui diffèrent de la classe C#. Les valeurs suivantes proviennent de l'implémentation actuelle docViewer.js.
| Option | Valeur par défaut | Remarques |
|---|---|---|
leftMinWidth / leftMaxWidth | 220 / 800 | Limites de largeur du panneau des vignettes. |
showThumbs | true | Visibilité initiale des vignettes. |
autoFocus / autoPageFocus | true / false | autoPageFocus diffère de la valeur par défaut C#. |
thumbWidth / thumbHeight / thumbPadding | 150 / 200 / 10 | Géométrie des vignettes en pixels. |
pageZoom / zoomStep / maxZoom | 100 / 10 / 200 | JavaScript maxZoom diffère de C# (300). |
showToolTip / toolTipPageText | true / "Page " | Info-bulle de position de page. |
format / doc / AccessToken | "" / 0 / "" | Valeurs d'initialisation internes ; généralement remplies par View(token). |
debugMode | false | Diagnostics client supplémentaires. |
FitType | "" | Ajustement automatique désactivé sauf si fourni. |
BasePath | "DocImage.axd" | Valeur par défaut héritée. Définissez-la explicitement : '/' pour le gestionnaire à la racine du site. |
ResPath | "" | Définissez explicitement le chemin des images intégrées. |
cacheEnabled / cacheCount / cacheDelay | false / 3 / 3 | Fenêtre et délai de préchargement de pages en mémoire. |
autoLoad | false | Le flux de jetons explicite est recommandé. |
largeDoc | true | Diffère de la valeur par défaut C#. |
fixedZoom | false | Diffère de la valeur par défaut C#. |
fixedZoomPercent / fixedZoomPercentMobile | 100 / 50 | La valeur mobile diffère de C# (75). |
showHyperlinks | true | Nécessite une extraction côté serveur pour produire des superpositions. |
Définissez toutes les valeurs importantes du comportement au lieu de vous fier à l'un ou l'autre des ensembles de valeurs par défaut :
<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>Rappels
| Rappel | Arguments | Objectif |
|---|---|---|
onPageLoading | pageNum | Une requête de page démarre. |
onPageLoaded | pageNum | Le chargement d'une image de page est terminé. |
onThumbnailClicked | pageNum | L'utilisateur a sélectionné une vignette. |
onPageClicked | pageNum | L'utilisateur a sélectionné une page. |
onDoubleClick | none | Le visualiseur a reçu un double-clic. |
onViewerBusy | none | Le visualiseur est entré en état occupé. |
onViewerReady | none | Initialisation terminée. |
onViewerError | none | Le visualiseur est entré en état d'erreur. |
onError | message | Une opération a renvoyé un message d'erreur. |
onCopy | data | Des données de copie de texte sont disponibles. |
onAutoLoadStatus | pageNum | Le chargement automatique a progressé vers une page. |
onThumbsShown | none | Le panneau de vignettes est devenu visible. |
onAnnLoaded | none | Les données d'annotation ont été chargées. |
onAnnSaved | none | Les données d'annotation ont été enregistrées. |
onAnnSaveError | none | L'enregistrement des annotations a échoué. |
onAnnClosed | none | L'interface d'annotation a été fermée. |
Gardez les rappels rapides ; envoyez la télémétrie de façon asynchrone et ne bloquez pas le rendu des pages.
Groupes de méthodes publiques
| Groupe | Méthodes courantes |
|---|---|
| Cycle de vie | View(token, accessToken?), Close(server?), Token(), Init(), IsLoaded() |
| Navigation | GotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages() |
| Zoom et ajustement | Zoom(zoomIn), CurrentZoom(), FitType(value), Refit() |
| Orientation | Rotate(page, angle), Flip(page, flipType) |
| Vignettes | HideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb) |
| Recherche | CanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...) |
| Annotation | SaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...) |
| Copie | Copy(...), CopyPage(pageNumber), CopyMode(enabled) |
Le fichier JavaScript contient également des aides internes. Considérez uniquement les méthodes utilisées par l'interface de référence et documentées ici ou dans les guides fonctionnels comme des points d'intégration stables.
Options de réessai
Le widget accepte également retryOn409 et ses paramètres de temporisation (retryInitialDelayMs, retryBackoffFactor, retryMaxDelayMs, retryMaxAttempts, retryMaxTotalMs). Ils servent les déploiements dont les pages sont générées en arrière-plan. DocImage.axd rend chaque page pendant la requête, donc laissez retryOn409 désactivé.
Liste de contrôle des chemins
BasePathest'/'lorsque le gestionnaireDocImage.axdse trouve à la racine du site — l'attributpathdu gestionnaire dansWeb.configdétermine où il répond. Dans un répertoire virtuel, utilisez le nom du répertoire sans/initial ('myapp', pas'/myapp': le visualiseur ajoute la barre oblique, et//myapp/...est une requête vers un autre hôte).DoconutOptions.ResourcesPathest l'endroit où le module de ressources sert les fichiers intégrés (/doconut-respar défaut).ResPathcible son sous-dossierimages, également sans/initial ('doconut-res/images'). Le pointer vers'doconut-res'entraîne un 404 pour chaque icône alors que le document continue de s'afficher.- En MVC,
routes.IgnoreRoute("doconut-res/{*pathInfo}")doit suivreResourcesPathsi vous le modifiez. ExtractHyperlinksdoit être activé dans la configuration du format serveur avant queshowHyperlinkspuisse afficher quoi que ce soit.
Cette page était-elle utile ?