ViewerConfig
Opcje widżetu podglądu po stronie 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 długo istniejący widżet JavaScript mają różne wartości domyślne, więc mapuj wartości jawnie.
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) jawnie. |
bool | AutoFocus | true | Przenieś fokus/scroll przeglądarki do podglądu podczas inicjalizacji. |
bool | AutoPageFocus | true | Utrzymaj 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 | Pokaż podpowiedź pozycji strony podczas przewijania. |
string | ToolTipPageText | "Page " | Prefiks używany w podpowiedzi strony. |
bool | CacheEnabled | false | Utrzymuj przesuwające się okno obrazów stron w pamięci przeglądarki. Nie używa localStorage. |
bool | LargeDoc | false | Dodawaj elementy stron w czasowych partiach dla dużych dokumentów. |
bool | ShowHyperlinks | false | Renderuj nakładki hiperłączy, gdy konfiguracja serwera je wyodrębniła. |
bool | FixedZoom | true | Użyj stałego procentu powiększenia zamiast responsywnego przeliczenia. |
int | FixedZoomPercent | 100 | Stałe powiększenie na pulpicie. |
int | FixedZoomPercentMobile | 75 | Stałe powiększenie na urządzeniach mobilnych. |
string | BasePath | "/" | Gdzie podgląd wysyła żądania stron. "/" to DocImage.axd w katalogu głównym witryny; w przeciwnym razie gałąź, gdzie 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, aby nie dopasowywać automatycznie. "page" nie jest akceptowane przez bieżący widżet. |
bool | RetryOn409 | false | Włącz sondowanie, gdy asynchroniczna/rozproszona produkcja stron odpowiada 202 Accepted; 409 jest również akceptowane dla kompatybilności ze starszymi serwerami. Nie jest potrzebne w normalnym synchronicznym podglądzie. |
var config = new ViewerConfig
{
ShowThumbs = true,
AutoLoad = false,
PageZoom = 100,
MaxZoom = 300,
FitType = "width",
BasePath = "doconut", // no leading '/': the viewer adds it ("/doconut" would become //doconut, another host)
ResPath = "doconut-res/images",
ShowHyperlinks = true
};Mapowanie C# na JavaScript
Nie przekazuj bezpośrednio serializowanego 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 ustawienia JavaScript
Widżet posiada 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 zostanie podane. |
BasePath | "DocImage.axd" | Historyczna domyślna wartość po stronie klienta zachowana dla kompatybilności. Aktualni hosty ASP.NET Core muszą ustawić ją jawnie na odpowiednią gałąź middleware. |
ResPath | "" | Ustawiona jawnie na ścieżkę wbudowanych obrazów. |
cacheEnabled / cacheCount / cacheDelay | false / 3 / 3 | Okno i opóźnienie wstępnego ładowania stron w pamięci. |
autoLoad | false | Zalecany jest jawny 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ębniania po stronie serwera w celu generowania nakładek. |
Ustaw wszystkie istotne pod względem zachowania wartości 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 zakończył ładowanie. |
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 | Dostępne są dane kopiowania tekstu. |
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 strony.
Publiczne grupy metod
| 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 pomocnicze funkcje. Traktuj jedynie metody używane przez interfejs referencyjny i udokumentowane tutaj lub w przewodnikach funkcji jako stabilne punkty integracji.
Ponowne próby, gdy rozproszona strona nadal się renderuje
retryOn409 zachowuje swoją historyczną nazwę. Służy do asynchronicznej produkcji stron i ponawia bieżącą odpowiedź gotowości 202 Accepted oraz starszy sygnał 409 Conflict. Po włączeniu widget 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 zwykłego 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ą faktycznie mapujesz.BasePathmusi wskazywać tę gałąź, zapisaną bez początkowego/('doconut', 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?