ViewerConfig

Optionen für das Client-Viewer-Widget

ViewerConfig (Namespace Doconut) beschreibt das Aussehen und Verhalten des Browser-Viewers. Es beeinflusst nicht die Dokumentenrender-Qualität; dafür verwenden Sie eine Formatkonfiguration. Die C#-Klasse und das langjährige JavaScript-Widget haben unterschiedliche Vorgaben, daher Werte explizit zuordnen.

C#-Eigenschaften

TypEigenschaftStandardBeschreibung
boolShowThumbstrueZeigt das Miniaturbild-Panel an.
boolAutoLoadfalseLädt automatisch nach der Initialisierung. Der normale Token-Flow ruft View(token) explizit auf.
boolAutoFocustrueVerschiebt den Browser-Fokus/Scroll zum Viewer während der Initialisierung.
boolAutoPageFocustrueHält die aktuelle Miniaturansicht sichtbar, während Seiten wechseln.
intPageZoom100Anfänglicher Zoom-Prozentsatz.
intZoomStep10Prozentsatz, der durch Zoom-Befehle hinzugefügt oder entfernt wird.
intMaxZoom300Maximaler Zoom-Prozentsatz.
boolShowToolTiptrueZeigt das Seitenpositions-Tooltip beim Scrollen an.
stringToolTipPageText"Page "Präfix, das im Seiten-Tooltip verwendet wird.
boolCacheEnabledfalseBehält ein rollierendes Fenster von Seitenbildern im Browser-Speicher. Es verwendet kein localStorage.
boolLargeDocfalseFügt Seitenelemente in zeitgesteuerten Stapeln für große Dokumente hinzu.
boolShowHyperlinksfalseRendert Hyperlink-Overlays, wenn die Serverkonfiguration sie extrahiert hat.
boolFixedZoomtrueVerwendet einen festen Zoom-Prozentsatz statt einer responsiven Neuberechnung.
intFixedZoomPercent100Fester Desktop-Zoom.
intFixedZoomPercentMobile75Fester mobiler Zoom.
stringBasePath"/"Zweig, in dem der Host UseDoconut() zuordnet.
stringResPath"doconut-res"Ressourcenbasis, die vom Widget verwendet wird. In einer normalen Einrichtung darauf zeigen zu <ResourcesPath>/images.
stringFitType"width""width", "height" oder leer für kein automatisches Anpassen. "page" wird vom aktuellen Widget nicht akzeptiert.
boolRetryOn409falseAktiviert das Polling, wenn asynchrone/verteilte Seitenerstellung 202 Accepted zurückgibt; 409 wird ebenfalls für die Kompatibilität mit älteren Servern akzeptiert. Nicht erforderlich für den normalen synchronen Viewer.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/doconut",
    ResPath = "/doconut-res/images",
    ShowHyperlinks = true
};

C#-zu-JavaScript-Mapping

Übergeben Sie nicht ein direkt serialisiertes ViewerConfig an docViewer(...). Die meisten Widget-Schlüssel sind camelCase, während drei etablierte Pfad-/Fit-Schlüssel PascalCase sind.

C#JavaScript
ShowThumbsshowThumbs
AutoLoadautoLoad
AutoFocusautoFocus
AutoPageFocusautoPageFocus
PageZoompageZoom
ZoomStepzoomStep
MaxZoommaxZoom
ShowToolTipshowToolTip
ToolTipPageTexttoolTipPageText
CacheEnabledcacheEnabled
LargeDoclargeDoc
ShowHyperlinksshowHyperlinks
FixedZoomfixedZoom
FixedZoomPercentfixedZoomPercent
FixedZoomPercentMobilefixedZoomPercentMobile
BasePathBasePath
ResPathResPath
FitTypeFitType
RetryOn409retryOn409

JavaScript-Standardwerte

Das Widget hat ältere Vorgaben, die von der C#-Klasse abweichen. Die folgenden Werte stammen aus der aktuellen docViewer.js-Implementierung.

OptionStandardHinweise
leftMinWidth / leftMaxWidth220 / 800Grenzwerte für die Breite des Miniatur-Panels.
showThumbstrueAnfängliche Sichtbarkeit der Miniaturansichten.
autoFocus / autoPageFocustrue / falseautoPageFocus unterscheidet sich vom C#-Standard.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10Miniaturgeometrie in Pixeln.
pageZoom / zoomStep / maxZoom100 / 10 / 200JavaScript maxZoom unterscheidet sich von C# (300).
showToolTip / toolTipPageTexttrue / "Page "Tooltip für Seitenposition.
format / doc / AccessToken"" / 0 / ""Interne Initialisierungswerte; normalerweise von View(token) befüllt.
debugModefalseZusätzliche Client-Diagnosen.
FitType""Kein automatisches Anpassen, sofern nicht angegeben.
BasePath"DocImage.axd"Historischer Client-Standard, der zur Kompatibilität beibehalten wird. Aktuelle ASP.NET Core-Hosts müssen ihn explizit auf den zugeordneten Middleware-Zweig setzen.
ResPath""Explizit auf den Pfad der eingebetteten Bilder setzen.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3In-Memory-Vorladungsfenster für Seiten und Verzögerung.
autoLoadfalseExpliziter Token-Flow wird empfohlen.
largeDoctrueUnterscheidet sich vom C#-Standard.
fixedZoomfalseUnterscheidet sich vom C#-Standard.
fixedZoomPercent / fixedZoomPercentMobile100 / 50Mobiler Wert unterscheidet sich von C# (75).
showHyperlinkstrueErfordert serverseitige Extraktion, um Overlays zu erzeugen.
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>

Rückrufe

CallbackArgumenteZweck
onPageLoadingpageNumEin Seitenaufruf beginnt.
onPageLoadedpageNumEin Seitenbild wurde geladen.
onThumbnailClickedpageNumDer Benutzer hat eine Miniaturansicht ausgewählt.
onPageClickedpageNumDer Benutzer hat eine Seite ausgewählt.
onDoubleClicknoneDer Viewer hat einen Doppelklick erhalten.
onViewerBusynoneDer Viewer ist in einen Besetzungszustand übergegangen.
onViewerReadynoneInitialisierung abgeschlossen.
onViewerErrornoneDer Viewer ist in den Fehlermodus übergegangen.
onErrormessageEin Vorgang hat eine Fehlermeldung zurückgegeben.
onCopydataTextkopierdaten sind verfügbar.
onAutoLoadStatuspageNumAuto-Loading hat eine Seite erreicht.
onThumbsShownnoneDas Miniatur-Panel wurde sichtbar.
onAnnLoadednoneAnnotationsdaten geladen.
onAnnSavednoneAnnotationsdaten gespeichert.
onAnnSaveErrornoneSpeichern der Annotation fehlgeschlagen.
onAnnClosednoneAnnotations-UI geschlossen.

Halten Sie Rückrufe kurz; senden Sie Telemetrie asynchron und blockieren Sie das Laden von Seiten nicht.

Öffentliche Methodengruppen

GruppeGemeinsame Methoden
LebenszyklusView(token, accessToken?), Close(server?), Token(), Init(), IsLoaded()
NavigationGotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages()
Zoom und AnpassenZoom(zoomIn), CurrentZoom(), FitType(value), Refit()
OrientierungRotate(page, angle), Flip(page, flipType)
MiniaturansichtenHideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb)
SucheCanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...)
AnnotationSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
KopierenCopy(...), CopyPage(pageNumber), CopyMode(enabled)

Die JavaScript-Datei enthält ebenfalls interne Hilfsfunktionen. Betrachten Sie nur Methoden, die von der Referenz-UI verwendet und hier oder in den Feature-Leitfäden dokumentiert sind, als stabile Integrationspunkte.

Wiederholungsversuch, während eine verteilte Seite noch gerendert wird

retryOn409 behält seinen historischen Namen. Es dient der asynchronen Seitenerstellung und wiederholt die aktuelle 202 Accepted-Bereitschaftsantwort sowie das ältere 409 Conflict-Signal. Wenn aktiviert, pollt das Widget mit diesen JavaScript-Standardwerten:

OptionStandard
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

Lassen Sie es für den normalen Viewer deaktiviert. Das Aktivieren kann ein nicht unterstütztes synchrones Rendering nicht asynchron machen.

Pfad-Checkliste

  • DoconutOptions.MiddlewarePath muss den Zweig beschreiben, den Sie tatsächlich zuordnen.
  • BasePath muss diesen Zweig anvisieren.
  • DoconutOptions.ResourcesPath ist die Route zu den eingebetteten Ressourcen.
  • ResPath zielt normalerweise auf dessen Unterordner /images.
  • ExtractHyperlinks muss in der Server-Formatkonfiguration aktiviert sein, bevor showHyperlinks etwas anzeigen kann.

War diese Seite hilfreich?