ViewerConfig

Možnosti widgetu prohlížeče klienta

ViewerConfig (namespace Doconut) popisuje vzhled a chování prohlížeče. Nemá vliv na kvalitu vykreslování dokumentu; použijte konfiguraci formátu pro to. Třída C# a dlouho existující JavaScript widget mají odlišné výchozí hodnoty, takže hodnoty mapujte explicitně.

Vlastnosti C#

TypVlastnostVýchozíPopis
boolShowThumbstrueZobrazit panel miniatur.
boolAutoLoadfalseAutomaticky načíst po inicializaci. Normální tok tokenů volá View(token) explicitně.
boolAutoFocustruePřesunout zaměření/posun prohlížeče do prohlížeče během inicializace.
boolAutoPageFocustrueUdržet aktuální miniaturu viditelnou při změně stránek.
intPageZoom100Počáteční procento zoomu.
intZoomStep10Procento přidávané nebo odebírané příkazy zoomu.
intMaxZoom300Maximální procento zoomu.
boolShowToolTiptrueZobrazit tooltip pozice stránky během posouvání.
stringToolTipPageText"Page "Předpona používaná v tooltipu stránky.
boolCacheEnabledfalseUdržovat pohyblivé okno obrázků stránek v paměti prohlížeče. Nepoužívá localStorage.
boolLargeDocfalsePřidávat prvky stránky ve časově řízených dávkách pro velké dokumenty.
boolShowHyperlinksfalseVykreslovat překryvy hyperodkazů, když je serverová konfigurace extrahovala.
boolFixedZoomtruePoužít pevné procento zoomu místo responzivního přepočtu.
intFixedZoomPercent100Pevný desktopový zoom.
intFixedZoomPercentMobile75Pevný mobilní zoom.
stringBasePath"/"Kam prohlížeč odesílá požadavky na stránky. "/" je DocImage.axd v kořeni webu; jinak větev, kde hostitel mapuje UseDoconut(), bez úvodního / ("doconut" znamená /doconut/DocImage.axd).
stringResPath"doconut-res/images" (26.9.0; "doconut-res" before)Složka, ze které widget načítá své vlastní obrázky: složka images pod ResourcesPath, bez úvodního /.
stringFitType"width""width", "height", nebo prázdné pro žádné automatické přizpůsobení. "page" není aktuálním widgetem akceptováno.
boolRetryOn409falsePovolit polling, když asynchronní/distribuovaná výroba stránek odpovídá 202 Accepted; 409 je také akceptováno pro kompatibilitu se staršími servery. Není potřeba pro normální synchronní prohlížeč.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "doconut",           // žádný úvodní '/' : prohlížeč jej přidá ("/doconut" by se stal //doconut, jiný host)
    ResPath = "doconut-res/images",
    ShowHyperlinks = true
};

Mapování C# na JavaScript

Nepropouštějte přímo serializovaný ViewerConfig do docViewer(...). Většina klíčů widgetu je ve formátu camelCase, zatímco tři zavedené klíče pro cestu/přizpůsobení jsou ve formátu PascalCase.

C#JavaScript
ShowThumbsshowThumbs
AutoLoadautoLoad
AutoFocusautoFocus
AutoPageFocusautoPageFocus
PageZoompageZoom
ZoomStepzoomStep
MaxZoommaxZoom
ShowToolTipshowToolTip
ToolTipPageTexttoolTipPageText
CacheEnabledcacheEnabled
LargeDoclargeDoc
ShowHyperlinksshowHyperlinks
FixedZoomfixedZoom
FixedZoomPercentfixedZoomPercent
FixedZoomPercentMobilefixedZoomPercentMobile
BasePathBasePath
ResPathResPath
FitTypeFitType
RetryOn409retryOn409

Výchozí hodnoty JavaScriptu

Widget má starší výchozí hodnoty, které se liší od třídy C#. Následující hodnoty pocházejí z aktuální implementace docViewer.js.

MožnostVýchozíPoznámky
leftMinWidth / leftMaxWidth220 / 800Meze šířky panelu miniatur.
showThumbstruePočáteční viditelnost miniatur.
autoFocus / autoPageFocustrue / falseautoPageFocus se liší od výchozí hodnoty C#.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10Geometrie miniatur v pixelech.
pageZoom / zoomStep / maxZoom100 / 10 / 200JavaScript maxZoom se liší od C# (300).
showToolTip / toolTipPageTexttrue / "Page "Bublinová nápověda pozice stránky.
format / doc / AccessToken"" / 0 / ""Interní hodnoty inicializace; obvykle naplněny pomocí View(token).
debugModefalseDalší diagnostika klienta.
FitType""Žádné automatické přizpůsobení, pokud není poskytnuto.
BasePath"DocImage.axd"Historická výchozí hodnota klienta zachována pro kompatibilitu. Aktuální hostitelé ASP.NET Core ji musí explicitně nastavit na mapovanou větev middleware.
ResPath""Explicitně nastavit na cestu k vloženým obrázkům.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3Okno a prodleva přednačítání stránek v paměti.
autoLoadfalseDoporučuje se explicitní tok tokenu.
largeDoctrueLiší se od výchozí hodnoty C#.
fixedZoomfalseLiší se od výchozí hodnoty C#.
fixedZoomPercent / fixedZoomPercentMobile100 / 50Mobilní hodnota se liší od C# (75).
showHyperlinkstrueVyžaduje serverovou extrakci pro vytvoření překryvů.

Nastavte všechny behaviorálně důležité hodnoty místo spoléhaní se na kterýkoli ze souborů výchozích hodnot:

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>

Zpětné volání

Zpětné voláníArgumentyÚčel
onPageLoadingpageNumZačíná požadavek na stránku.
onPageLoadedpageNumObrázek stránky dokončil načítání.
onThumbnailClickedpageNumUživatel vybral miniaturu.
onPageClickedpageNumUživatel vybral stránku.
onDoubleClicknoneProhlížeč obdržel dvojklik.
onViewerBusynoneProhlížeč vstoupil do stavu zaneprázdněnosti.
onViewerReadynoneInicializace dokončena.
onViewerErrornoneProhlížeč vstoupil do chybového stavu.
onErrormessageOperace vrátila chybovou zprávu.
onCopydataData pro kopírování textu jsou k dispozici.
onAutoLoadStatuspageNumAutomatické načítání postoupilo na stránku.
onThumbsShownnonePanel miniatur se stal viditelným.
onAnnLoadednoneData anotací načtena.
onAnnSavednoneData anotací uložena.
onAnnSaveErrornoneUložení anotací selhalo.
onAnnClosednoneUživatelské rozhraní anotací uzavřeno.

Udržujte zpětná volání rychlá; odesílejte telemetrii asynchronně a neblokujte vykreslování stránky.

Veřejné skupiny metod

SkupinaSpolečné metody
Životní cyklusView(token, accessToken?), Close(server?), Token(), Init(), IsLoaded()
NavigaceGotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages()
Zoom a přizpůsobeníZoom(zoomIn), CurrentZoom(), FitType(value), Refit()
OrientaceRotate(page, angle), Flip(page, flipType)
MiniaturyHideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb)
VyhledáváníCanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...)
AnotaceSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
KopírováníCopy(...), CopyPage(pageNumber), CopyMode(enabled)

Soubor JavaScript také obsahuje interní pomocníky. Považujte za stabilní integrační body pouze metody používané referenčním uživatelským rozhraním a dokumentované zde nebo v průvodcích funkcemi.

Opakování, dokud je distribuovaná stránka stále renderována

retryOn409 si zachovává svůj historický název. Slouží k asynchronní výrobě stránek a opakuje aktuální odpověď připravenosti 202 Accepted i starší signál 409 Conflict. Když je povoleno, widget provádí dotazování s těmito výchozími hodnotami JavaScriptu:

MožnostVýchozí
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

Nechte to zakázáno pro běžného prohlížeče. Povolení to nemůže učinit nepodporovaný synchronní render asynchronním.

Kontrolní seznam cesty

  • DoconutOptions.MiddlewarePath musí popisovat větev, kterou skutečně mapujete.
  • BasePath musí cílit na tuto větev, zapsáno bez úvodního / ('doconut', ne '/doconut': prohlížeč přidá lomítko a //doconut/... je požadavek na jiný hostitel).
  • DoconutOptions.ResourcesPath je cesta vloženého zdroje.
  • ResPath normálně cílí na jeho podadresář images, také bez úvodního / ('doconut-res/images').
  • ExtractHyperlinks musí být povoleno v konfiguraci formátu serveru, než showHyperlinks může něco zobrazit.

Byla tato stránka užitečná?