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#

TypWłaściwośćDomyślneOpis
boolShowThumbstruePokaż panel miniatur.
boolAutoLoadfalseAutomatycznie ładuje po inicjalizacji. Normalny przepływ tokenów wywołuje View(token) jawnie.
boolAutoFocustruePrzenieś fokus/scroll przeglądarki do podglądu podczas inicjalizacji.
boolAutoPageFocustrueUtrzymaj bieżącą miniaturę widoczną podczas zmiany stron.
intPageZoom100Początkowy procent powiększenia.
intZoomStep10Procent dodawany lub usuwany przez polecenia powiększenia.
intMaxZoom300Maksymalny procent powiększenia.
boolShowToolTiptruePokaż podpowiedź pozycji strony podczas przewijania.
stringToolTipPageText"Page "Prefiks używany w podpowiedzi strony.
boolCacheEnabledfalseUtrzymuj przesuwające się okno obrazów stron w pamięci przeglądarki. Nie używa localStorage.
boolLargeDocfalseDodawaj elementy stron w czasowych partiach dla dużych dokumentów.
boolShowHyperlinksfalseRenderuj nakładki hiperłączy, gdy konfiguracja serwera je wyodrębniła.
boolFixedZoomtrueUżyj stałego procentu powiększenia zamiast responsywnego przeliczenia.
intFixedZoomPercent100Stałe powiększenie na pulpicie.
intFixedZoomPercentMobile75Stałe powiększenie na urządzeniach mobilnych.
stringBasePath"/"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).
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, aby nie dopasowywać automatycznie. "page" nie jest akceptowane przez bieżący widżet.
boolRetryOn409falseWłą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.
csharp
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
ShowThumbsshowThumbs
AutoLoadautoLoad
AutoFocusautoFocus
AutoPageFocusautoPageFocus
PageZoompageZoom
ZoomStepzoomStep
MaxZoommaxZoom
ShowToolTipshowToolTip
ToolTipPageTexttoolTipPageText
CacheEnabledcacheEnabled
LargeDoclargeDoc
ShowHyperlinksshowHyperlinks
FixedZoomfixedZoom
FixedZoomPercentfixedZoomPercent
FixedZoomPercentMobilefixedZoomPercentMobile
BasePathBasePath
ResPathResPath
FitTypeFitType
RetryOn409retryOn409

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.

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 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 / cacheDelayfalse / 3 / 3Okno i opóźnienie wstępnego ładowania stron w pamięci.
autoLoadfalseZalecany jest jawny 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ę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:

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 zakończył ładowanie.
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.
onCopydataDostępne są dane kopiowania tekstu.
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 strony.

Publiczne grupy metod

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 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:

OpcjaDomyślnie
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

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.MiddlewarePath musi opisywać gałąź, którą faktycznie mapujesz.
  • BasePath musi wskazywać tę gałąź, zapisaną bez początkowego / ('doconut', 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?