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#

TypWłaściwośćDomyślneOpis
boolShowThumbstruePokaż panel miniatur.
boolAutoLoadfalseAutomatycznie ładuje po inicjalizacji. Normalny przepływ tokenów wywołuje View(token) wyraźnie.
boolAutoFocustruePrzesuwa fokus/scroll przeglądarki do podglądu podczas inicjalizacji.
boolAutoPageFocustrueUtrzymuje bieżącą miniaturę widoczną podczas zmiany stron.
intPageZoom100Początkowy procent powiększenia.
intZoomStep10Procent dodawany lub usuwany przez polecenia powiększenia.
intMaxZoom300Maksymalny procent powiększenia.
boolShowToolTiptruePokazuje podpowiedź pozycji strony podczas przewijania.
stringToolTipPageText"Page "Prefiks używany w podpowiedzi strony.
boolCacheEnabledfalseUtrzymuje przesuwające się okno obrazów stron w pamięci przeglądarki. Nie używa localStorage.
boolLargeDocfalseDodaje elementy stron w czasowych partiach dla dużych dokumentów.
boolShowHyperlinksfalseRenderuje nakładki hiperłączy, gdy konfiguracja serwera je wyodrębniła.
boolFixedZoomtrueUżywa stałego procentu powiększenia zamiast responsywnego przeliczania.
intFixedZoomPercent100Stałe powiększenie na pulpicie.
intFixedZoomPercentMobile75Stałe powiększenie na urządzeniach mobilnych.
stringBasePath"/"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).
stringResPath"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 /.
stringFitType"width""width", "height" lub pusty dla braku automatycznego dopasowania. "page" nie jest akceptowane przez bieżący widżet.
boolRetryOn409falseWłącz sondowanie, gdy asynchroniczne/rozproszone żądanie strony zwraca 409. Nie jest potrzebne w normalnym synchronicznym podglądzie.
csharp
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
ShowThumbsshowThumbs
AutoLoadautoLoad
AutoFocusautoFocus
AutoPageFocusautoPageFocus
PageZoompageZoom
ZoomStepzoomStep
MaxZoommaxZoom
ShowToolTipshowToolTip
ToolTipPageTexttoolTipPageText
CacheEnabledcacheEnabled
LargeDoclargeDoc
ShowHyperlinksshowHyperlinks
FixedZoomfixedZoom
FixedZoomPercentfixedZoomPercent
FixedZoomPercentMobilefixedZoomPercentMobile
BasePathBasePath
ResPathResPath
FitTypeFitType
RetryOn409retryOn409

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.

OpcjaDomyślneUwagi
leftMinWidth / leftMaxWidth220 / 800Granice szerokości panelu miniatur.
showThumbstruePoczątkowa widoczność miniatur.
autoFocus / autoPageFocustrue / falseautoPageFocus różni się od domyślnej wartości w C#.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10Geometria miniatur w pikselach.
pageZoom / zoomStep / maxZoom100 / 10 / 200maxZoom w JavaScript różni się od C# (300).
showToolTip / toolTipPageTexttrue / "Page "Podpowiedź pozycji strony.
format / doc / AccessToken"" / 0 / ""Wewnętrzne wartości inicjalizacji; zazwyczaj wypełniane przez View(token).
debugModefalseDodatkowa 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 / cacheDelayfalse / 3 / 3Okno i opóźnienie wstępnego ładowania stron w pamięci.
autoLoadfalseZalecony jest explicite przepływ tokenu.
largeDoctrueRóżni się od domyślnej wartości w C#.
fixedZoomfalseRóżni się od domyślnej wartości w C#.
fixedZoomPercent / fixedZoomPercentMobile100 / 50Wartość mobilna różni się od C# (75).
showHyperlinkstrueWymaga wyodrębnienia po stronie serwera, aby utworzyć nakładki.

Ustaw wszystkie istotne wartości zachowania zamiast polegać na którejkolwiek z domyślnych konfiguracji:

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>

Wywołania zwrotne

Wywołanie zwrotneArgumentyCel
onPageLoadingpageNumRozpoczyna się żądanie strony.
onPageLoadedpageNumObraz strony został załadowany.
onThumbnailClickedpageNumUżytkownik wybrał miniaturę.
onPageClickedpageNumUżytkownik wybrał stronę.
onDoubleClicknonePodgląd otrzymał podwójne kliknięcie.
onViewerBusynonePodgląd wszedł w stan zajętości.
onViewerReadynoneInicjalizacja zakończona.
onViewerErrornonePodgląd wszedł w stan błędu.
onErrormessageOperacja zwróciła komunikat o błędzie.
onCopydataDane kopiowania tekstu są dostępne.
onAutoLoadStatuspageNumAutomatyczne ładowanie postąpiło do strony.
onThumbsShownnonePanel miniatur stał się widoczny.
onAnnLoadednoneDane adnotacji zostały załadowane.
onAnnSavednoneDane adnotacji zostały zapisane.
onAnnSaveErrornoneZapis adnotacji nie powiódł się.
onAnnClosednoneInterfejs adnotacji został zamknięty.

Utrzymuj wywołania zwrotne szybkie; wysyłaj telemetrykę asynchronicznie i nie blokuj renderowania stron.

Grupy metod publicznych

GrupaWspólne metody
Cykl życiaView(token, accessToken?), Close(server?), Token(), Init(), IsLoaded()
NawigacjaGotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages()
Zoom i dopasowanieZoom(zoomIn), CurrentZoom(), FitType(value), Refit()
OrientacjaRotate(page, angle), Flip(page, flipType)
MiniaturyHideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb)
WyszukiwanieCanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...)
AdnotacjeSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
KopiowanieCopy(...), 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:

OpcjaDomyślnie
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

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.MiddlewarePath musi opisywać gałąź, którą rzeczywiście mapujesz.
  • BasePath musi wskazywać tę gałąź, zapisaną bez początkowego / ('doconut', a nie '/doconut': podgląd dodaje ukośnik, a //doconut/... jest żądaniem do innego hosta).
  • DoconutOptions.ResourcesPath jest wbudowaną trasą zasobów.
  • ResPath zazwyczaj wskazuje podfolder images, również bez początkowego / ('doconut-res/images').
  • ExtractHyperlinks musi być włączone w konfiguracji formatu serwera, zanim showHyperlinks będzie mógł wyświetlić cokolwiek.

Czy ta strona była pomocna?