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#

TypePropriétéValeur par défautDescription
boolShowThumbstrueAfficher le panneau des miniatures.
boolAutoLoadfalseCharger automatiquement après l'initialisation. Le flux de jeton normal appelle View(token) explicitement.
boolAutoFocustrueDéplacer le focus/scroll du navigateur vers le visualiseur pendant l'initialisation.
boolAutoPageFocustrueGarder la miniature actuelle visible pendant le changement de pages.
intPageZoom100Pourcentage de zoom initial.
intZoomStep10Pourcentage ajouté ou retiré par les commandes de zoom.
intMaxZoom300Pourcentage de zoom maximal.
boolShowToolTiptrueAfficher l'infobulle de position de page pendant le défilement.
stringToolTipPageText"Page "Préfixe utilisé dans l'infobulle de page.
boolCacheEnabledfalseConserver une fenêtre mobile d'images de pages dans la mémoire du navigateur. N'utilise pas localStorage.
boolLargeDocfalseAjouter les éléments de page par lots temporisés pour les documents volumineux.
boolShowHyperlinksfalseRendre les superpositions de liens hypertexte lorsque la configuration du serveur les a extraites.
boolFixedZoomtrueUtiliser un pourcentage de zoom fixe plutôt qu'un recalcul réactif.
intFixedZoomPercent100Zoom fixe pour le bureau.
intFixedZoomPercentMobile75Zoom fixe pour le mobile.
stringBasePath"/"Branche où l'hôte mappe UseDoconut().
stringResPath"doconut-res"Base de ressources utilisée par le widget. Dans une configuration normale, pointez‑la vers <ResourcesPath>/images.
stringFitType"width""width", "height" ou vide pour aucun ajustement automatique. "page" n'est pas accepté par le widget actuel.
boolRetryOn409falseActiver le sondage lorsqu'une requête de page asynchrone/distribuée répond 409. Non nécessaire pour le visualiseur synchrone normal.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/doconut",
    ResPath = "/doconut-res/images",
    ShowHyperlinks = true
};

Mappage C# vers JavaScript

Ne passez 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
ShowThumbsshowThumbs
AutoLoadautoLoad
AutoFocusautoFocus
AutoPageFocusautoPageFocus
PageZoompageZoom
ZoomStepzoomStep
MaxZoommaxZoom
ShowToolTipshowToolTip
ToolTipPageTexttoolTipPageText
CacheEnabledcacheEnabled
LargeDoclargeDoc
ShowHyperlinksshowHyperlinks
FixedZoomfixedZoom
FixedZoomPercentfixedZoomPercent
FixedZoomPercentMobilefixedZoomPercentMobile
BasePathBasePath
ResPathResPath
FitTypeFitType
RetryOn409retryOn409

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 de docViewer.js.

OptionValeur par défautNotes
leftMinWidth / leftMaxWidth220 / 800Limites de largeur du panneau de miniatures.
showThumbstrueVisibilité initiale des miniatures.
autoFocus / autoPageFocustrue / falseautoPageFocus diffère de la valeur par défaut C#.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10Géométrie des miniatures en pixels.
pageZoom / zoomStep / maxZoom100 / 10 / 200maxZoom JavaScript diffère de C# (300).
showToolTip / toolTipPageTexttrue / "Page "Infobulle de position de page.
format / doc / AccessToken"" / 0 / ""Valeurs d'initialisation internes ; généralement remplies par View(token).
debugModefalseDiagnostics client supplémentaires.
FitType""Aucun ajustement automatique sauf si fourni.
BasePath"DocImage.axd"Valeur par défaut du gestionnaire hérité. Définissez‑la explicitement pour ASP.NET Core.
ResPath""Définir explicitement vers le chemin des images intégrées.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3Fenêtre de préchargement de pages en mémoire et délai.
autoLoadfalseLe flux de jeton explicite est recommandé.
largeDoctrueDiffère de la valeur par défaut C#.
fixedZoomfalseDiffère de la valeur par défaut C#.
fixedZoomPercent / fixedZoomPercentMobile100 / 50La valeur mobile diffère de C# (75).
showHyperlinkstrueNécessite une extraction côté serveur pour produire les superpositions.

Définissez toutes les valeurs importantes du comportement plutôt que de vous fier à l'un ou l'autre des ensembles de valeurs par défaut :

html
<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: '/doconut',
    ResPath: '/doconut-res/images',
    onViewerReady: function () {},
    onError: function (message) { console.error('DocViewer:', message); }
});
</script>

Rappels

RappelArgumentsObjectif
onPageLoadingpageNumUne requête de page démarre.
onPageLoadedpageNumUne image de page a fini de charger.
onThumbnailClickedpageNumL'utilisateur a sélectionné une miniature.
onPageClickedpageNumL'utilisateur a sélectionné une page.
onDoubleClicknoneLe visualiseur a reçu un double‑clic.
onViewerBusynoneLe visualiseur est entré dans un état occupé.
onViewerReadynoneInitialisation terminée.
onViewerErrornoneLe visualiseur est entré dans son état d'erreur.
onErrormessageUne opération a renvoyé un message d'erreur.
onCopydataDes données de copie de texte sont disponibles.
onAutoLoadStatuspageNumLe chargement automatique a progressé jusqu'à une page.
onThumbsShownnoneLe panneau de miniatures est devenu visible.
onAnnLoadednoneDonnées d'annotation chargées.
onAnnSavednoneDonnées d'annotation enregistrées.
onAnnSaveErrornoneÉchec de l'enregistrement de l'annotation.
onAnnClosednoneInterface d'annotation fermée.

Gardez les rappels rapides ; envoyez la télémétrie de façon asynchrone et ne bloquez pas le rendu de la page.

Groupes de méthodes publiques

GroupeMéthodes courantes
Cycle de vieView(token, accessToken?), Close(server?), Token(), Init(), IsLoaded()
NavigationGotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages()
Zoom et ajustementZoom(zoomIn), CurrentZoom(), FitType(value), Refit()
OrientationRotate(page, angle), Flip(page, flipType)
MiniaturesHideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb)
RechercheCanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...)
AnnotationSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
CopieCopy(...), 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.

Nouvelle tentative après HTTP 409

retryOn409 sert à la production de pages asynchrones. Lorsqu'il est activé, le widget interroge avec ces valeurs par défaut JavaScript :

OptionValeur par défaut
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

Laissez‑le désactivé pour le visualiseur normal. L'activer ne peut pas rendre asynchrone un rendu synchrone non pris en charge.

Liste de contrôle des chemins

  • DoconutOptions.MiddlewarePath doit décrire la branche que vous mappez réellement.
  • BasePath doit cibler cette branche.
  • DoconutOptions.ResourcesPath est la route des ressources intégrées.
  • ResPath pointe normalement vers son sous‑dossier /images.
  • ExtractHyperlinks doit être activé dans la configuration de format du serveur avant que showHyperlinks puisse afficher quoi que ce soit.

Cette page vous a-t-elle été utile ?