ViewerConfig

Opcje widgetu podglądu klienta

ViewerConfig (namespace Doconut) opisuje wygląd i zachowanie przeglądarkowego podglądu. Nie wpływa na jakość renderowania dokumentu; użyj konfiguracji formatu w tym celu. Klasa C# i długo istniejący widget 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.
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 przeliczenia.
intFixedZoomPercent100Stałe powiększenie na pulpicie.
intFixedZoomPercentMobile75Stałe powiększenie na urządzeniach mobilnych.
stringBasePath"/"Gałąź, w której host mapuje UseDoconut().
stringResPath"doconut-res"Podstawowa ścieżka zasobów używana przez widget. W normalnej konfiguracji skieruj ją do <ResourcesPath>/images.
stringFitType"width""width", "height" lub pusty, aby nie stosować automatycznego dopasowania. "page" nie jest akceptowane przez bieżący widget.
boolRetryOn409falseWłącza odpytywanie, gdy asynchroniczna/rozproszona produkcja stron odpowiada 202 Accepted; 409 jest również akceptowane dla zgodnoś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",
    ResPath = "/doconut-res/images",
    ShowHyperlinks = true
};

Mapowanie C# na JavaScript

Nie przekazuj bezpośrednio zserializowanego ViewerConfig do docViewer(...). Większość kluczy widgetu jest w stylu camelCase, podczas gdy trzy ustalone klucze ścieżki/dopasowania są w stylu 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

Widget 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ść klienta zachowana dla kompatybilności. Aktualne hosty ASP.NET Core muszą ustawić ją jawnie na mapowaną gałąź middleware.
ResPath""Ustaw jawnie na ścieżkę wbudowanych obrazów.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3Okno wczytywania stron w pamięci oraz opóźnienie.
autoLoadfalseZalecany jest jawny przepływ tokenów.
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 wygenerować 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 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ępował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 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()
Powiększanie 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 jako stabilne punkty integracji tylko metody używane przez interfejs referencyjny i udokumentowane tutaj lub w przewodnikach funkcji.

Ponawianie, gdy rozproszona strona jest nadal renderowana

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. Gdy jest włączone, widget odpyta z tymi domyślnymi wartościami JavaScript:

OpcjaDomyślne
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

Pozostaw wyłączone dla normalnego podglądu. Włączenie nie może uczynić nieobsługiwanego synchronicznego renderowania asynchronicznym.

Lista kontrolna ścieżek

  • DoconutOptions.MiddlewarePath musi opisywać gałąź, którą faktycznie mapujesz.
  • BasePath musi wskazywać tę gałąź.
  • DoconutOptions.ResourcesPath jest ścieżką wbudowanych zasobów.
  • ResPath zazwyczaj wskazuje podfolder /images.
  • ExtractHyperlinks musi być włączone w konfiguracji formatu serwera, zanim showHyperlinks będzie mógł coś wyświetlić.

Czy ta strona była pomocna?