ViewerConfig
Opcje widżetu podglądu klienta
ViewerConfig (namespace Doconut) opisuje wygląd i zachowanie przeglądarkowego podglądu. Nie wpływa na jakość renderowania dokumentu; w tym celu użyj konfiguracji formatu. Klasa C# i starsza wtyczka JavaScript mają różne wartości domyślne, więc mapuj wartości explicite.
Właściwości C#
| Typ | Właściwość | Domyślne | Opis |
|---|---|---|---|
bool | ShowThumbs | true | Pokaż panel miniatur. |
bool | AutoLoad | false | Automatycznie ładuje po inicjalizacji. Normalny przepływ tokenów wywołuje View(token) wyraźnie. |
bool | AutoFocus | true | Przesuwa fokus/scroll przeglądarki do podglądu podczas inicjalizacji. |
bool | AutoPageFocus | true | Utrzymuje bieżącą miniaturę widoczną podczas zmiany stron. |
int | PageZoom | 100 | Początkowy procent powiększenia. |
int | ZoomStep | 10 | Procent dodawany lub usuwany przez polecenia powiększenia. |
int | MaxZoom | 300 | Maksymalny procent powiększenia. |
bool | ShowToolTip | true | Pokazuje podpowiedź pozycji strony podczas przewijania. |
string | ToolTipPageText | "Page " | Prefiks używany w podpowiedzi strony. |
bool | CacheEnabled | false | Utrzymuje przesuwające się okno obrazów stron w pamięci przeglądarki. Nie używa localStorage. |
bool | LargeDoc | false | Dodaje elementy stron w czasowych partiach dla dużych dokumentów. |
bool | ShowHyperlinks | false | Renderuje nakładki hiperłączy, gdy konfiguracja serwera je wyodrębniła. |
bool | FixedZoom | true | Używa stałego procentu powiększenia zamiast responsywnego przeliczania. |
int | FixedZoomPercent | 100 | Stałe powiększenie na pulpicie. |
int | FixedZoomPercentMobile | 75 | Stałe powiększenie na urządzeniach mobilnych. |
string | BasePath | "/" | Miejsce, gdzie podgląd wysyła żądania stron. "/" to DocImage.axd w katalogu głównym witryny; w przeciwnym razie gałąź, w której host mapuje UseDoconut(), bez początkowego / ("doconut" oznacza /doconut/DocImage.axd). |
string | ResPath | "doconut-res/images" (26.9.0; "doconut-res" before) | Folder, z którego widżet ładuje własne obrazy: folder images pod ResourcesPath, bez początkowego /. |
string | FitType | "width" | "width", "height" lub pusty dla braku automatycznego dopasowania. "page" nie jest akceptowane przez bieżący widżet. |
bool | RetryOn409 | false | Włącz sondowanie, gdy asynchroniczne/rozproszone żądanie strony zwraca 409. Nie jest potrzebne w normalnym synchronicznym podglądzie. |
var config = new ViewerConfig
{
ShowThumbs = true,
AutoLoad = false,
PageZoom = 100,
MaxZoom = 300,
FitType = "width",
BasePath = "doconut", // bez początkowego '/': podgląd dodaje go ("/doconut" stałoby się //doconut, inny host)
ResPath = "doconut-res/images",
ShowHyperlinks = true
};Mapowanie C# na JavaScript
Nie przekazuj bezpośrednio zserializowanego ViewerConfig do docViewer(...). Większość kluczy widżetu jest w camelCase, podczas gdy trzy ustalone klucze ścieżki/dopasowania są w 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 |
Domyślne wartości JavaScript
Widżet ma starsze wartości domyślne, które różnią się od klasy C#. Poniższe wartości pochodzą z bieżącej implementacji docViewer.js.
| Opcja | Domyślne | Uwagi |
|---|---|---|
leftMinWidth / leftMaxWidth | 220 / 800 | Granice szerokości panelu miniatur. |
showThumbs | true | Początkowa widoczność miniatur. |
autoFocus / autoPageFocus | true / false | autoPageFocus różni się od domyślnej wartości w C#. |
thumbWidth / thumbHeight / thumbPadding | 150 / 200 / 10 | Geometria miniatur w pikselach. |
pageZoom / zoomStep / maxZoom | 100 / 10 / 200 | maxZoom w JavaScript różni się od C# (300). |
showToolTip / toolTipPageText | true / "Page " | Podpowiedź pozycji strony. |
format / doc / AccessToken | "" / 0 / "" | Wewnętrzne wartości inicjalizacji; zazwyczaj wypełniane przez View(token). |
debugMode | false | Dodatkowa diagnostyka po stronie klienta. |
FitType | "" | Brak automatycznego dopasowania, chyba że podano. |
BasePath | "DocImage.axd" | Domyślny obsługiwacz legacy. Ustaw explicite dla ASP.NET Core. |
ResPath | "" | Ustaw explicite ścieżkę do wbudowanych obrazów. |
cacheEnabled / cacheCount / cacheDelay | false / 3 / 3 | Okno i opóźnienie wstępnego ładowania stron w pamięci. |
autoLoad | false | Zalecony jest explicite przepływ tokenu. |
largeDoc | true | Różni się od domyślnej wartości w C#. |
fixedZoom | false | Różni się od domyślnej wartości w C#. |
fixedZoomPercent / fixedZoomPercentMobile | 100 / 50 | Wartość mobilna różni się od C# (75). |
showHyperlinks | true | Wymaga wyodrębnienia po stronie serwera, aby utworzyć nakładki. |
Ustaw wszystkie istotne wartości zachowania zamiast polegać na którejkolwiek z domyślnych konfiguracji:
<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>Wywołania zwrotne
| Wywołanie zwrotne | Argumenty | Cel |
|---|---|---|
onPageLoading | pageNum | Rozpoczyna się żądanie strony. |
onPageLoaded | pageNum | Obraz strony został załadowany. |
onThumbnailClicked | pageNum | Użytkownik wybrał miniaturę. |
onPageClicked | pageNum | Użytkownik wybrał stronę. |
onDoubleClick | none | Podgląd otrzymał podwójne kliknięcie. |
onViewerBusy | none | Podgląd wszedł w stan zajętości. |
onViewerReady | none | Inicjalizacja zakończona. |
onViewerError | none | Podgląd wszedł w stan błędu. |
onError | message | Operacja zwróciła komunikat o błędzie. |
onCopy | data | Dane kopiowania tekstu są dostępne. |
onAutoLoadStatus | pageNum | Automatyczne ładowanie postąpiło do strony. |
onThumbsShown | none | Panel miniatur stał się widoczny. |
onAnnLoaded | none | Dane adnotacji zostały załadowane. |
onAnnSaved | none | Dane adnotacji zostały zapisane. |
onAnnSaveError | none | Zapis adnotacji nie powiódł się. |
onAnnClosed | none | Interfejs adnotacji został zamknięty. |
Utrzymuj wywołania zwrotne szybkie; wysyłaj telemetrykę asynchronicznie i nie blokuj renderowania stron.
Grupy metod publicznych
| Grupa | Wspólne metody |
|---|---|
| Cykl życia | View(token, accessToken?), Close(server?), Token(), Init(), IsLoaded() |
| Nawigacja | GotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages() |
| Zoom i dopasowanie | Zoom(zoomIn), CurrentZoom(), FitType(value), Refit() |
| Orientacja | Rotate(page, angle), Flip(page, flipType) |
| Miniatury | HideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb) |
| Wyszukiwanie | CanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...) |
| Adnotacje | SaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...) |
| Kopiowanie | Copy(...), CopyPage(pageNumber), CopyMode(enabled) |
Plik JavaScript zawiera również wewnętrzne pomocniki. Traktuj tylko metody używane przez referencyjny interfejs UI i udokumentowane tutaj lub w przewodnikach funkcji jako stabilne punkty integracji.
Ponowne próby po HTTP 409
retryOn409 służy do asynchronicznej produkcji stron. Gdy jest włączone, widżet odpyta z następującymi domyślnymi wartościami JavaScript:
| Opcja | Domyślnie |
|---|---|
retryInitialDelayMs | 250 |
retryBackoffFactor | 1.6 |
retryMaxDelayMs | 2500 |
retryMaxAttempts | 60 |
retryMaxTotalMs | 120000 |
Pozostaw to wyłączone dla normalnego podglądu. Włączenie nie może sprawić, że nieobsługiwane renderowanie synchroniczne stanie się asynchroniczne.
Lista kontrolna ścieżek
DoconutOptions.MiddlewarePathmusi opisywać gałąź, którą rzeczywiście mapujesz.BasePathmusi wskazywać tę gałąź, zapisaną bez początkowego/('doconut', a nie'/doconut': podgląd dodaje ukośnik, a//doconut/...jest żądaniem do innego hosta).DoconutOptions.ResourcesPathjest wbudowaną trasą zasobów.ResPathzazwyczaj wskazuje podfolderimages, również bez początkowego/('doconut-res/images').ExtractHyperlinksmusi być włączone w konfiguracji formatu serwera, zanimshowHyperlinksbędzie mógł wyświetlić cokolwiek.
Czy ta strona była pomocna?