ViewerConfig

Klientvisare widget‑alternativ

ViewerConfig (namespace Doconut) beskriver webbläsarens visares 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ämtar inte längre globala funktionsnamn från behållar‑id — och ResPath måste peka på resursprefixet snarare än applikationsroten. Båda låter servern fungera perfekt och rapporterar inget i webbläsarkonsolen. Om du bär med dig en sida från det föregående biblioteket, läs Callbacks och Path checklist innan något annat.

C#‑egenskaper

TypEgenskapStandardBeskrivning
boolShowThumbstrueVisa miniatyrpanelen.
boolAutoLoadfalseLadda 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 zoom‑procent.
intZoomStep10Procent som läggs till eller tas bort av zoom‑kommandon.
intMaxZoom300Maximal zoom‑procent.
boolShowToolTiptrueVisa verktygstips för sidposition medan du rullar.
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änks‑överlappningar när serverkonfigurationen extraherade dem.
boolFixedZoomtrueAnvänd en fast zoom‑procent istället för responsiv omräkning.
intFixedZoomPercent100Fast skrivbords‑zoom.
intFixedZoomPercentMobile75Fast mobil‑zoom.
stringBasePath"/"Var visaren skickar sidförfrågningar. "/" är DocImage.axd vid webbplatsens rot; annars den gren där värden mappar UseDoconut(), utan ett inledande / ("doconut" betyder /doconut/DocImage.axd).
stringResPath"doconut-res/images" (26.9.0; "doconut-res" before)Mapp som widgeten laddar sina egna bilder från: images‑mappen under ResourcesPath, utan ett inledande /.
stringFitType"width""width", "height", eller tom 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ök‑/anpassningsnycklar ä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-implementeringen.

AlternativStandardNoteringar
leftMinWidth / leftMaxWidth220 / 800Gränser för miniatyrpanelens bredd.
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 de i av View(token).
debugModefalseYtterligare klientdiagnostik.
FitType""Ingen automatisk anpassning om den inte anges.
BasePath"DocImage.axd"Historiskt klientstandardvärde behållet för kompatibilitet. Aktuella ASP.NET Core-värdar måste sätta det explicit till den mappade middleware-grenen.
ResPath""Sätt explicit till den inbäddade bildsökvägen.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3Fönster och fördröjning för sidförladdning i minnet.
autoLoadfalseExplicitt tokenflöde 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.

Ställ in alla beteendemässigt viktiga värden istället för att förlita dig 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.
onViewerReadynoneInitiering slutförd.
onViewerErrornoneVisaren gick in i feltilstånd.
onErrormessageEn operation returnerade ett felmeddelande.
onCopydataTextkopieringsdata är tillgänglig.
onAutoLoadStatuspageNumAutomatisk laddning gick vidare till en sida.
onThumbsShownnoneMiniatyrpanelen blev synlig.
onAnnLoadednoneAnnotationsdata laddades.
onAnnSavednoneAnnotationsdata sparades.
onAnnSaveErrornoneSparning av annotation misslyckades.
onAnnClosednoneAnnotations‑UI stängdes.

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

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

javascript
objctlDoc = $('#div_ctlDoc').docViewer({
    // ... dina befintliga alternativ ...
    onViewerBusy:     ctlDoc_OnViewerBusy,      // hittades med namn
    onViewerReady:    ctlDoc_OnViewerReady,     // hittades med 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 – hyperlänkhantering ä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)
MiniatyrerHideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb)
SökCanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...)
AnnoteringSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
KopieraCopy(...), CopyPage(pageNumber), CopyMode(enabled)

JavaScript-filen innehåller också interna hjälpfunktioner. Behandla endast metoder som används av referens‑UI 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 för asynkron sidproduktion och återförsöker den aktuella 202 Accepted-beredskapsresponsen samt den äldre 409 Conflict-signalen. När det är aktiverat pollar widgeten med dessa JavaScript‑standardvärden:

AlternativStandard
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

Lämna den inaktiverad för den normala enkelnodsvyn. Att aktivera den kan inte göra en ej stödd synkron rendering asynkron.

Aktivera den när sidor levereras från delat lagringsutrymme med FirstPagePriority, där senare sidor legitimit svarar med 202 Accepted tills de skrivs. En klient som inte återförsöker visar trasiga rutor för sidor som fortfarande renderas — se Distributed Deployments.

Sökvägskontrollista

  • DoconutOptions.MiddlewarePath måste beskriva den gren du faktiskt mappar.
  • BasePath måste rikta in sig på den grenen, skriven utan ett inledande / ('doconut', inte '/doconut': vyn 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 riktar normalt mot sin images-undermapp, utan ett inledande / — 'doconut-res/images' med standardprefixet. En tom ResPath var korrekt i det tidigare biblioteket, där resurser kom från applikationsroten; den är inte korrekt här, och den misslyckas utan ett fel.
  • ExtractHyperlinks måste vara aktiverad i serverns formatkonfiguration innan showHyperlinks kan visa något.

Var den här sidan hjälpsam?