ViewerConfig

İstemci görüntüleyici widget seçenekleri

ViewerConfig (namespace Doconut) tarayıcı görüntüleyicisinin görünüm ve davranışını tanımlar. Bu, belge render kalitesini etkilemez; bunun için bir format yapılandırması kullanın. C# sınıfı ve uzun süredir var olan JavaScript widget farklı varsayıllara sahiptir, bu yüzden değerleri açıkça eşleyin.

C# özellikleri

TürÖzellikVarsayılanAçıklama
boolShowThumbstrueKüçük resim panelini göster.
boolAutoLoadfalseBaşlatmadan sonra otomatik olarak yükle. Normal token akışı View(token)'ı açıkça çağırır.
boolAutoFocustrueBaşlatma sırasında tarayıcı odak/scrollunu görüntüleyiciye taşı.
boolAutoPageFocustrueSayfalar değişirken mevcut küçük resmi görünür tut.
intPageZoom100İlk yakınlaştırma yüzdesi.
intZoomStep10Yakınlaştırma komutlarıyla eklenen veya çıkarılan yüzde.
intMaxZoom300Maksimum yakınlaştırma yüzdesi.
boolShowToolTiptrueKaydırma sırasında sayfa konumu araç ipucunu göster.
stringToolTipPageText"Page "Sayfa araç ipucunda kullanılan önek.
boolCacheEnabledfalseTarayıcı belleğinde sayfa görüntülerinin hareketli bir penceresini tut. localStorage kullanmaz.
boolLargeDocfalseBüyük belgeler için sayfa öğelerini zamanlanmış toplu eklemelerle ekle.
boolShowHyperlinksfalseSunucu yapılandırması bunları çıkardığında hiperlink bindirmelerini renderla.
boolFixedZoomtrueDuyarlı yeniden hesaplama yerine sabit bir yakınlaştırma yüzdesi kullan.
intFixedZoomPercent100Sabit masaüstü yakınlaştırması.
intFixedZoomPercentMobile75Sabit mobil yakınlaştırma.
stringBasePath"/"UseDoconut()'un haritalandığı dal.
stringResPath"doconut-res"Widget tarafından kullanılan kaynak temeli. Normal bir kurulumda <ResourcesPath>/images'a işaret eder.
stringFitType"width""width", "height" veya otomatik uyum yoksa boş. "page" mevcut widget tarafından kabul edilmez.
boolRetryOn409falseAsenkron/dağıtık sayfa üretimi 202 Accepted yanıtı verdiğinde yoklamayı etkinleştir; 409 da eski sunucularla uyumluluk için kabul edilir. Normal senkron görüntüleyici için gerekli değildir.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/doconut",
    ResPath = "/doconut-res/images",
    ShowHyperlinks = true
};

C#'tan JavaScript'e eşleme

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

JavaScript varsayılanları

Widget, C# sınıfından farklı eski varsayımlara sahiptir. Aşağıdaki değerler mevcut docViewer.js uygulamasından gelmektedir.

SeçenekVarsayılanNotlar
leftMinWidth / leftMaxWidth220 / 800Küçük resim paneli genişlik sınırları.
showThumbstrueİlk küçük resim görünürlüğü.
autoFocus / autoPageFocustrue / falseautoPageFocus C# varsayılanından farklıdır.
thumbWidth / thumbHeight / thumbPadding150 / 200 / 10Piksel cinsinden küçük resim geometrisi.
pageZoom / zoomStep / maxZoom100 / 10 / 200JavaScript maxZoom C#'den (300) farklıdır.
showToolTip / toolTipPageTexttrue / "Page "Sayfa konumu araç ipucu.
format / doc / AccessToken"" / 0 / ""Dahili başlatma değerleri; genellikle View(token) ile doldurulur.
debugModefalseEk istemci tanılamaları.
FitType""Sağlanmadıkça otomatik uyum yok.
BasePath"DocImage.axd"Uyumluluk için tutulan tarihsel istemci varsayılanı. Güncel ASP.NET Core hostları bunu açıkça eşlenen ara katman dalına ayarlamalıdır.
ResPath""Gömülü resim yoluna açıkça ayarlayın.
cacheEnabled / cacheCount / cacheDelayfalse / 3 / 3Bellek içi sayfa ön yükleme penceresi ve gecikmesi.
autoLoadfalseAçık token akışı önerilir.
largeDoctrueC# varsayılanından farklıdır.
fixedZoomfalseC# varsayılanından farklıdır.
fixedZoomPercent / fixedZoomPercentMobile100 / 50Mobil değer C#'den (75) farklıdır.
showHyperlinkstrueBindirmeleri üretmek için sunucu tarafı çıkarımı gerekir.

Davranışsal olarak önemli tüm değerleri, varsayılanlardan birine güvenmek yerine açıkça ayarlayın:

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>

Geri çağrılar

Geri çağrıArgümanlarAmaç
onPageLoadingpageNumBir sayfa isteği başlıyor.
onPageLoadedpageNumBir sayfa resmi yüklenmesi tamamlandı.
onThumbnailClickedpageNumKullanıcı bir küçük resmi seçti.
onPageClickedpageNumKullanıcı bir sayfa seçti.
onDoubleClicknoneGörüntüleyici çift tıklama aldı.
onViewerBusynoneGörüntüleyici meşgul duruma girdi.
onViewerReadynoneBaşlatma tamamlandı.
onViewerErrornoneGörüntüleyici hata durumuna girdi.
onErrormessageBir işlem hata mesajı döndürdü.
onCopydataMetin kopyalama verisi mevcut.
onAutoLoadStatuspageNumOtomatik yükleme bir sayfaya ilerledi.
onThumbsShownnoneKüçük resim paneli görünür oldu.
onAnnLoadednoneNot ekleme verileri yüklendi.
onAnnSavednoneNot ekleme verileri kaydedildi.
onAnnSaveErrornoneNot ekleme kaydetme başarısız.
onAnnClosednoneNot ekleme UI kapandı.

Geri çağrıları hızlı tutun; telemetrileri asenkron gönderin ve sayfa renderını engellemeyin.

Genel yöntem grupları

GrupOrtak yöntemler
Yaşam döngüsüView(token, accessToken?), Close(server?), Token(), Init(), IsLoaded()
GezinmeGotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages()
Yakınlaştırma ve uyumZoom(zoomIn), CurrentZoom(), FitType(value), Refit()
YönlendirmeRotate(page, angle), Flip(page, flipType)
Küçük resimlerHideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb)
AramaCanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...)
Not eklemeSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
KopyalaCopy(...), CopyPage(pageNumber), CopyMode(enabled)

JavaScript dosyası ayrıca dahili yardımcılar içerir. Burada veya özellik kılavuzlarında belgelenen ve referans UI tarafından kullanılan yöntemleri, kararlı entegrasyon noktaları olarak değerlendirin.

Dağıtık bir sayfa hâlâ render edilirken yeniden deneme

retryOn409 tarihsel adını korur. Asenkron sayfa üretimi içindir ve mevcut 202 Accepted hazır yanıtının yanı sıra eski 409 Conflict sinyalini de yeniden dener. Etkinleştirildiğinde, widget bu JavaScript varsayılanlarıyla yoklama yapar:

SeçenekVarsayılan
retryInitialDelayMs250
retryBackoffFactor1.6
retryMaxDelayMs2500
retryMaxAttempts60
retryMaxTotalMs120000

Normal görüntüleyici için devre dışı bırakın. Etkinleştirmek, desteklenmeyen bir senkron renderı asenkrona dönüştüremez.

Yol kontrol listesi

  • DoconutOptions.MiddlewarePath gerçekten eşlediğiniz dalı tanımlamalıdır.
  • BasePath o dalı hedeflemelidir.
  • DoconutOptions.ResourcesPath gömülü kaynak yolu.
  • ResPath genellikle /images alt klasörünü hedefler.
  • ExtractHyperlinks sunucu format yapılandırmasında showHyperlinks bir şey gösterene kadar etkinleştirilmelidir.

Bu sayfa yardımcı oldu mu?