ViewerConfig

Client viewer widget options

ViewerConfig (namespace Doconut) beschreibt das Aussehen und Verhalten des Browser‑Viewers. Es beeinflusst nicht die Qualität der Dokumentendarstellung; dafür verwenden Sie eine Format‑Konfiguration. Die C#‑Klasse und das veraltete JavaScript‑Plugin haben unterschiedliche Vorgaben, daher Werte explizit zuordnen.

C#‑Eigenschaften

TypEigenschaftStandardBeschreibung
boolShowThumbstrueZeigt das Miniaturbild-Panel an.
boolAutoLoadfalseLädt nach der Initialisierung automatisch. Der normale Token‑Ablauf ruft View(token) explizit auf.
boolAutoFocustrueVerschiebt den Browser‑Fokus/Scroll während der Initialisierung zum Viewer.
boolAutoPageFocustrueHält das aktuelle Miniaturbild sichtbar, während die Seiten wechseln.
intPageZoom100Anfänglicher Zoom‑Prozentsatz.
intZoomStep10Prozentsatz, der durch Zoom‑Befehle hinzugefügt oder entfernt wird.
intMaxZoom300Maximaler Zoom‑Prozentsatz.
boolShowToolTiptrueZeigt das Seiten‑Positions‑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.
boolShowHyperlinksfalseRendern von Hyperlink‑Overlays, wenn die Server‑Konfiguration sie extrahiert hat.
boolFixedZoomtrueVerwendet einen festen Zoom‑Prozentsatz anstelle einer responsiven Neuberechnung.
intFixedZoomPercent100Fester Desktop‑Zoom.
intFixedZoomPercentMobile75Fester mobiler Zoom.
stringBasePath"/"Wo der Viewer Seitenanfragen sendet. "/" ist der DocImage.axd‑Handler an der Site‑Wurzel. Für eine Anwendung in einem virtuellen Verzeichnis verwenden Sie den Verzeichnisnamen ohne führendes / ("myapp" bedeutet /myapp/DocImage.axd).
stringResPath"doconut-res/images"Ordner, aus dem das Widget seine eigenen Bilder lädt: der images‑Ordner unter ResourcesPath, ohne führendes /.
stringFitType"width""width", "height" oder leer für kein automatisches Anpassen. "page" wird vom aktuellen Widget nicht akzeptiert.
boolRetryOn409falseWiederholt Seitenanfragen, die mit „still rendering“ antworten. DocImage.axd rendert synchron und sendet dieses Signal nie; lassen Sie es false.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/",                 // "/" = the DocImage.axd handler at the site root (Web.config)
    ResPath = "doconut-res/images", // the images folder under ResourcesPath, no leading '/'
    ShowHyperlinks = true
};
// Emit it with viewer.RenderViewer("viewerEl", token, config) - see the Viewer reference.

Erzeugen einer ViewerConfig mit RenderViewer

Viewer.RenderViewer(elementId, token, config) wandelt eine ViewerConfig in das Initialisierungsskript des Widgets um. Es schreibt sechs der oben genannten Eigenschaften — BasePath, ResPath, ShowThumbs, AutoLoad, PageZoom und FitType — und ruft anschließend View(token) auf. Die anderen Eigenschaften werden nicht geschrieben: Für MaxZoom, ShowHyperlinks, die Zoom‑Einstellungen oder jegliche Callback‑Funktion initialisieren Sie das Widget selbst mit den untenstehenden JavaScript‑Optionen. Siehe Viewer für RenderViewer.

C#‑zu‑JavaScript‑Zuordnung

Übergeben Sie nicht eine direkt serialisierte 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 Miniaturbereichs.
showThumbstrueAnfängliche Sichtbarkeit der Miniaturansichten.
autoFocus / autoPageFocustrue / falseautoPageFocus weicht vom C#‑Standard ab.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10Miniaturgeometrie in Pixeln.
pageZoom / zoomStep / maxZoom100 / 10 / 200JavaScript maxZoom weicht vom C#‑Standard (300) ab.
showToolTip / toolTipPageTexttrue / "Page "Tooltip zur Seitenposition.
format / doc / AccessToken"" / 0 / ""Interne Initialisierungswerte; normalerweise von View(token) befüllt.
debugModefalseZusätzliche Client‑Diagnosen.
FitType""Keine automatische Anpassung, sofern nicht angegeben.
BasePath"DocImage.axd"Legacy‑Standard. Explizit setzen: '/' für den Handler an der Seitenwurzel.
ResPath""Explizit auf den Pfad der eingebetteten Bilder setzen.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3In‑Memory‑Vorladungsfenster und -Verzögerung für Seiten.
autoLoadfalseEin expliziter Token‑Fluss wird empfohlen.
largeDoctrueWeicht vom C#‑Standard ab.
fixedZoomfalseWeicht vom C#‑Standard ab.
fixedZoomPercent / fixedZoomPercentMobile100 / 50Mobiler Wert weicht vom C#‑Standard (75) ab.
showHyperlinkstrueErfordert serverseitige Extraktion, um Overlays zu erzeugen.

Setzen Sie alle verhaltensrelevanten Werte, anstatt sich auf einen der beiden Standards zu verlassen:

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

Rückruffunktionen

RückruffunktionArgumenteZweck
onPageLoadingpageNumEin Seitenaufruf wird gestartet.
onPageLoadedpageNumEin Seitenbild wurde geladen.
onThumbnailClickedpageNumDer Benutzer hat eine Miniatur ausgewählt.
onPageClickedpageNumDer Benutzer hat eine Seite ausgewählt.
onDoubleClicknoneDer Viewer hat einen Doppelklick erhalten.
onViewerBusynoneDer Viewer ist in einen beschäftigten Zustand ü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.
onAnnClosednoneAnnotation‑Benutzeroberfläche geschlossen.

Halten Sie Rückruffunktionen schnell; senden Sie Telemetrie asynchron und blockieren Sie das Rendern der Seite nicht.

Öffentliche Methodengruppen

GruppeGemeinsame Methoden
LebenszyklusView(token, accessToken?), Close(server?), Token(), Init(), IsLoaded()
NavigationGotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages()
Zoom und AnpassungZoom(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 die Methoden, die von der Referenz‑UI verwendet und hier oder in den Feature‑Leitfäden dokumentiert sind, als stabile Integrationspunkte.

Wiederholungsoptionen

Das Widget akzeptiert außerdem retryOn409 und seine Backoff‑Einstellungen (retryInitialDelayMs, retryBackoffFactor, retryMaxDelayMs, retryMaxAttempts, retryMaxTotalMs). Sie dienen Deployments, deren Seiten im Hintergrund erzeugt werden. DocImage.axd rendert jede Seite während der Anfrage, daher sollte retryOn409 deaktiviert bleiben.

Pfad‑Checkliste

  • BasePath ist '/', wenn der DocImage.axd‑Handler im Site‑Root liegt — das path‑Attribut des Handlers in Web.config bestimmt, wo er antwortet. In einem virtuellen Verzeichnis verwenden Sie den Verzeichnisnamen ohne führenden / ('myapp', nicht '/myapp': der Viewer fügt den Schrägstrich hinzu, und //myapp/... ist eine Anfrage an einen anderen Host).
  • DoconutOptions.ResourcesPath ist der Ort, an dem das Ressourcenmodul die eingebetteten Dateien bereitstellt (/doconut-res standardmäßig).
  • ResPath verweist auf den Unterordner images, ebenfalls ohne führenden / ('doconut-res/images'). Wenn er auf 'doconut-res' zeigt, erhalten alle Icons einen 404‑Fehler, während das Dokument weiterhin gerendert wird.
  • In MVC muss routes.IgnoreRoute("doconut-res/{*pathInfo}") nach ResourcesPath kommen, falls Sie diesen ändern.
  • ExtractHyperlinks muss in der Server‑Format‑Konfiguration aktiviert sein, bevor showHyperlinks etwas anzeigen kann.

War diese Seite hilfreich?