ViewerConfig

Klientvisarens widgetalternativ

ViewerConfig (namnrymd Doconut) beskriver webbläsarvisarens utseende och beteende. Det påverkar inte dokumentrenderingskvaliteten; använd en formatkonfiguration för det. C#‑klassen och den långvariga JavaScript‑widgeten har olika standardvärden, så mappa värden explicit.

Två klient‑sidiga förändringar i denna version misslyckas tyst. Handlare‑funktioner skickas som alternativ — widgeten härleder inte längre globala funktionsnamn från behållar‑id — och ResPath måste peka på resursprefixet snarare än applikationsroten. Båda lämnar servern att fungera perfekt och rapporterar inget i webbläsarkonsolen. Om du bär med dig en sida från det tidigare biblioteket, läs Återuppringningar och Sökvägskontrollista innan något annat.

C#‑egenskaper

TypEgenskapStandardBeskrivning
boolShowThumbstrueVisa miniatyrpanelen.
boolAutoLoadfalseLaddar automatiskt efter initiering. Det normala tokenflödet anropar View(token) explicit.
boolAutoFocustrueFlytta webbläsarens fokus/rullning till visaren under initiering.
boolAutoPageFocustrueBehåll den aktuella miniatyren synlig medan sidorna ändras.
intPageZoom100Initial zoomprocent.
intZoomStep10Procent som läggs till eller tas bort av zoomkommandon.
intMaxZoom300Maximal zoomprocent.
boolShowToolTiptrueVisa verktygstips för sidposition vid rullning.
stringToolTipPageText"Page "Prefix som används i sidverktygstipset.
boolCacheEnabledfalseBehåll ett rörligt fönster av sidbilder i webbläsarens minne. Det använder inte localStorage.
boolLargeDocfalseLägg till sidelement i tidsbestämda satser för stora dokument.
boolShowHyperlinksfalseRendera hyperlänk‑övertäckningar när serverkonfigurationen extraherade dem.
boolFixedZoomtrueAnvänd en fast zoomprocent istället för responsiv omräkning.
intFixedZoomPercent100Fast skrivbordzoom.
intFixedZoomPercentMobile75Fast mobilzoom.
stringBasePath"/"Var visaren skickar sidförfrågningar. "/" är DocImage.axd vid webbplatsens rot; annars är det den gren där värden mappar UseDoconut(), utan inledande / ("doconut" betyder /doconut/DocImage.axd).
stringResPath"doconut-res/images" (26.9.0; "doconut-res" tidigare)Mapp som widgeten laddar sina egna bilder från: images‑mappen under ResourcesPath, utan inledande /.
stringFitType"width""width", "height" eller tomt för ingen automatisk anpassning. "page" accepteras inte av den aktuella widgeten.
boolRetryOn409falseAktivera polling när asynkron/distribuerad sidproduktion svarar 202 Accepted; 409 accepteras också för kompatibilitet med äldre servrar. Behövs inte av den normala synkrona visaren.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "doconut",           // ingen inledande '/': visaren lägger till den ("/doconut" skulle bli //doconut, en annan värd)
    ResPath = "doconut-res/images",
    ShowHyperlinks = true
};

C# till JavaScript‑mappning

Skicka inte en direkt serialiserad ViewerConfig till docViewer(...). De flesta widget‑nycklar är camelCase, medan tre etablerade sökvägs‑/passnings‑nycklar är PascalCase.

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

JavaScript-standardvärden

Widgeten har äldre standardvärden som skiljer sig från C#-klassen. Följande värden kommer från den aktuella docViewer.js-implementationen.

AlternativStandardAnteckningar
leftMinWidth / leftMaxWidth220 / 800Gränser för bredd på miniatyrpanelen.
showThumbstrueInitial miniatyrsynlighet.
autoFocus / autoPageFocustrue / falseautoPageFocus skiljer sig från C#-standardvärdet.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10Miniatyrgeometri i pixlar.
pageZoom / zoomStep / maxZoom100 / 10 / 200JavaScript maxZoom skiljer sig från C# (300).
showToolTip / toolTipPageTexttrue / "Page "Verktygstips för sidposition.
format / doc / AccessToken"" / 0 / ""Interna initieringsvärden; normalt fylls i av View(token).
debugModefalseYtterligare klientdiagnostik.
FitType""Ingen automatisk anpassning om den inte anges.
BasePath"DocImage.axd"Historiskt klientstandardvärde bevarat för kompatibilitet. Aktuella ASP.NET Core-värdar måste ange det explicit till den mappade middleware-grenen.
ResPath""Ange explicit till den inbäddade bildsökvägen.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3Fönster och fördröjning för förinläsning av sidor i minnet.
autoLoadfalseExplicita tokenflöden rekommenderas.
largeDoctrueSkiljer sig från C#-standardvärdet.
fixedZoomfalseSkiljer sig från C#-standardvärdet.
fixedZoomPercent / fixedZoomPercentMobile100 / 50Mobilt värde skiljer sig från C# (75).
showHyperlinkstrueKräver server‑sidextraktion för att skapa överlägg.

Ange alla beteendemässigt viktiga värden istället för att förlita sig på någon av standarduppsättningarna:

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>

Återuppringningar

ÅteruppringningArgumentSyfte
onPageLoadingpageNumEn sidbegäran påbörjas.
onPageLoadedpageNumEn sidbild har laddats färdigt.
onThumbnailClickedpageNumAnvändaren valde en miniatyr.
onPageClickedpageNumAnvändaren valde en sida.
onDoubleClicknoneVisaren mottog ett dubbelklick.
onViewerBusynoneVisaren gick in i ett upptaget tillstånd.
onViewerReadynoneInitieringen slutförd.
onViewerErrornoneVisaren gick in i feltilstånd.
onErrormessageEn operation returnerade ett felmeddelande.
onCopydataData för textkopiering är tillgänglig.
onAutoLoadStatuspageNumAutoladdning fortskred till en sida.
onThumbsShownnoneMiniatyrpanelen blev synlig.
onAnnLoadednoneAnnotationsdata laddad.
onAnnSavednoneAnnotationsdata sparad.
onAnnSaveErrornoneSparning av annotation misslyckades.
onAnnClosednoneAnnotationsgränssnittet stängt.

Håll återuppringningarna snabba; skicka telemetri asynkront och blockera inte sidrenderingen.

Var och en av dessa är ett alternativ i init‑objektet. Den tidigare visaren letade upp globala funktioner vars namn den hämtade från container‑id‑t – en sida med <div id="div_ctlDoc"> behövde bara deklarera function ctlDoc_OnViewerReady(). Den sökningen är borta. Skicka funktionen explicit:

javascript
objctlDoc = $('#div_ctlDoc').docViewer({
    // ... dina befintliga alternativ ...
    onViewerBusy:     ctlDoc_OnViewerBusy,      // hittades via namn
    onViewerReady:    ctlDoc_OnViewerReady,     // hittades via namn
    onCopy:           ctlDoc_Copy,              // var ctlDoc_Copy(text)
    onAutoLoadStatus: ctlDoc_AutoLoadStatus     // var ctlDoc_AutoLoadStatus(page)
});

Den gamla uppslagningen var inbäddad i en tom catch, så inget någonsin rapporterades. I den här releasen körs funktionerna helt enkelt aldrig: det vanliga symptomet är en upptagen spinner som aldrig slutar, eftersom hanteraren som gömde den var onViewerReady. Dokumentet bakom den renderas korrekt.

Det finns ingen återuppringning för länkklick – hantering av hyperlänkar är inbyggd och styrs av showHyperlinks.

Publika metodgrupper

GruppVanliga metoder
LivscykelView(token, accessToken?), Close(server?), Token(), Init(), IsLoaded()
NavigeringGotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages()
Zoom och anpassningZoom(zoomIn), CurrentZoom(), FitType(value), Refit()
OrienteringRotate(page, angle), Flip(page, flipType)
MiniatyrbilderHideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb)
SökningCanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...)
AnmärkningSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
KopieringCopy(...), CopyPage(pageNumber), CopyMode(enabled)

JavaScript‑filen innehåller även interna hjälpfunktioner. Behandla endast de metoder som används av referens‑UI‑t och som dokumenteras här eller i funktionsguiderna som stabila integrationspunkter.

Försök igen medan en distribuerad sida fortfarande renderas

retryOn409 behåller sitt historiska namn. Det är avsett för asynkron sidproduktion och försöker igen på det aktuella 202 Accepted‑beredskaps‑svaret samt det äldre 409 Conflict‑signalet. När det är aktiverat pollar widgeten med dessa JavaScript‑standardvärden:

AlternativStandard
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

Lämna det inaktiverat för den normala en‑nod‑visaren. Att aktivera det kan inte göra en osupporterad synkron rendering asynkron.

Aktivera det när sidor levereras från delat lagringsutrymme med FirstPagePriority, där senare sidor legitimerat svarar 202 Accepted tills de är skrivna. En klient som inte försöker igen visar trasiga kakel för sidor som fortfarande renderas — se Distribuerade distributioner.

Kontrollista för sökväg

  • DoconutOptions.MiddlewarePath måste beskriva den gren du faktiskt mappar.
  • BasePath måste rikta in sig på den grenen, skrivet utan inledande / ('doconut', inte '/doconut': visningsprogrammet lägger till snedstrecket, och //doconut/... är en begäran till en annan värd). Referensapplikationen behåller den historiska DocImage.axd‑begäransformen på en MapWhen‑gren och sätter därför BasePath: '/'.
  • DoconutOptions.ResourcesPath är den inbäddade resursrutten.
  • ResPath pekar normalt på dess images‑undermapp, utan inledande / — 'doconut-res/images' med standardprefixet. En tom ResPath var korrekt i det tidigare biblioteket, där resurser kom från applikationsroten; det är inte korrekt här, och det misslyckas utan ett felmeddelande.
  • ExtractHyperlinks måste vara aktiverat i serverns formatkonfiguration innan showHyperlinks kan visa någonting.

Var den här sidan hjälpsam?