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
| Typ | Eigenschaft | Standard | Beschreibung |
|---|---|---|---|
bool | ShowThumbs | true | Zeigt das Miniaturbild-Panel an. |
bool | AutoLoad | false | Lädt nach der Initialisierung automatisch. Der normale Token‑Ablauf ruft View(token) explizit auf. |
bool | AutoFocus | true | Verschiebt den Browser‑Fokus/Scroll während der Initialisierung zum Viewer. |
bool | AutoPageFocus | true | Hält das aktuelle Miniaturbild sichtbar, während die Seiten wechseln. |
int | PageZoom | 100 | Anfänglicher Zoom‑Prozentsatz. |
int | ZoomStep | 10 | Prozentsatz, der durch Zoom‑Befehle hinzugefügt oder entfernt wird. |
int | MaxZoom | 300 | Maximaler Zoom‑Prozentsatz. |
bool | ShowToolTip | true | Zeigt das Seiten‑Positions‑Tooltip beim Scrollen an. |
string | ToolTipPageText | "Page " | Präfix, das im Seiten‑Tooltip verwendet wird. |
bool | CacheEnabled | false | Behält ein rollierendes Fenster von Seitenbildern im Browser‑Speicher. Es verwendet kein localStorage. |
bool | LargeDoc | false | Fügt Seitenelemente in zeitgesteuerten Stapeln für große Dokumente hinzu. |
bool | ShowHyperlinks | false | Rendern von Hyperlink‑Overlays, wenn die Server‑Konfiguration sie extrahiert hat. |
bool | FixedZoom | true | Verwendet einen festen Zoom‑Prozentsatz anstelle einer responsiven Neuberechnung. |
int | FixedZoomPercent | 100 | Fester Desktop‑Zoom. |
int | FixedZoomPercentMobile | 75 | Fester mobiler Zoom. |
string | BasePath | "/" | 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). |
string | ResPath | "doconut-res/images" | Ordner, aus dem das Widget seine eigenen Bilder lädt: der images‑Ordner unter ResourcesPath, ohne führendes /. |
string | FitType | "width" | "width", "height" oder leer für kein automatisches Anpassen. "page" wird vom aktuellen Widget nicht akzeptiert. |
bool | RetryOn409 | false | Wiederholt Seitenanfragen, die mit „still rendering“ antworten. DocImage.axd rendert synchron und sendet dieses Signal nie; lassen Sie es false. |
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 |
|---|---|
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-Standardwerte
Das Widget hat ältere Vorgaben, die von der C#‑Klasse abweichen. Die folgenden Werte stammen aus der aktuellen docViewer.js‑Implementierung.
| Option | Standard | Hinweise |
|---|---|---|
leftMinWidth / leftMaxWidth | 220 / 800 | Grenzwerte für die Breite des Miniaturbereichs. |
showThumbs | true | Anfängliche Sichtbarkeit der Miniaturansichten. |
autoFocus / autoPageFocus | true / false | autoPageFocus weicht vom C#‑Standard ab. |
thumbWidth / thumbHeight / thumbPadding | 150 / 200 / 10 | Miniaturgeometrie in Pixeln. |
pageZoom / zoomStep / maxZoom | 100 / 10 / 200 | JavaScript maxZoom weicht vom C#‑Standard (300) ab. |
showToolTip / toolTipPageText | true / "Page " | Tooltip zur Seitenposition. |
format / doc / AccessToken | "" / 0 / "" | Interne Initialisierungswerte; normalerweise von View(token) befüllt. |
debugMode | false | Zusä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 / cacheDelay | false / 3 / 3 | In‑Memory‑Vorladungsfenster und -Verzögerung für Seiten. |
autoLoad | false | Ein expliziter Token‑Fluss wird empfohlen. |
largeDoc | true | Weicht vom C#‑Standard ab. |
fixedZoom | false | Weicht vom C#‑Standard ab. |
fixedZoomPercent / fixedZoomPercentMobile | 100 / 50 | Mobiler Wert weicht vom C#‑Standard (75) ab. |
showHyperlinks | true | Erfordert serverseitige Extraktion, um Overlays zu erzeugen. |
Setzen Sie alle verhaltensrelevanten Werte, anstatt sich auf einen der beiden Standards zu verlassen:
<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ückruffunktion | Argumente | Zweck |
|---|---|---|
onPageLoading | pageNum | Ein Seitenaufruf wird gestartet. |
onPageLoaded | pageNum | Ein Seitenbild wurde geladen. |
onThumbnailClicked | pageNum | Der Benutzer hat eine Miniatur ausgewählt. |
onPageClicked | pageNum | Der Benutzer hat eine Seite ausgewählt. |
onDoubleClick | none | Der Viewer hat einen Doppelklick erhalten. |
onViewerBusy | none | Der Viewer ist in einen beschäftigten Zustand übergegangen. |
onViewerReady | none | Initialisierung abgeschlossen. |
onViewerError | none | Der Viewer ist in den Fehlermodus übergegangen. |
onError | message | Ein Vorgang hat eine Fehlermeldung zurückgegeben. |
onCopy | data | Textkopierdaten sind verfügbar. |
onAutoLoadStatus | pageNum | Auto‑Loading hat eine Seite erreicht. |
onThumbsShown | none | Das Miniatur‑Panel wurde sichtbar. |
onAnnLoaded | none | Annotationsdaten geladen. |
onAnnSaved | none | Annotationsdaten gespeichert. |
onAnnSaveError | none | Speichern der Annotation fehlgeschlagen. |
onAnnClosed | none | Annotation‑Benutzeroberfläche geschlossen. |
Halten Sie Rückruffunktionen schnell; senden Sie Telemetrie asynchron und blockieren Sie das Rendern der Seite nicht.
Öffentliche Methodengruppen
| Gruppe | Gemeinsame Methoden |
|---|---|
| Lebenszyklus | View(token, accessToken?), Close(server?), Token(), Init(), IsLoaded() |
| Navigation | GotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages() |
| Zoom und Anpassung | Zoom(zoomIn), CurrentZoom(), FitType(value), Refit() |
| Orientierung | Rotate(page, angle), Flip(page, flipType) |
| Miniaturansichten | HideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb) |
| Suche | CanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...) |
| Annotation | SaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...) |
| Kopieren | Copy(...), 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
BasePathist'/', wenn derDocImage.axd‑Handler im Site‑Root liegt — daspath‑Attribut des Handlers inWeb.configbestimmt, 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.ResourcesPathist der Ort, an dem das Ressourcenmodul die eingebetteten Dateien bereitstellt (/doconut-resstandardmäßig).ResPathverweist auf den Unterordnerimages, 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}")nachResourcesPathkommen, falls Sie diesen ändern. ExtractHyperlinksmuss in der Server‑Format‑Konfiguration aktiviert sein, bevorshowHyperlinksetwas anzeigen kann.
War diese Seite hilfreich?