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. Belge render kalitesini etkilemez; bunun için bir format yapılandırması kullanın. C# sınıfı ve eski JavaScript eklentisi farklı varsayılanlara 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 olarak ekle.
boolShowHyperlinksfalseSunucu yapılandırması onları çıkardığında hiperlink kaplamalarını render et.
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"/"Görüntüleyicinin sayfa isteklerini gönderdiği yer. "/", site kökünde DocImage.axd'dır; aksi takdirde hostun UseDoconut()'ı eşlediği dal, başında / olmadan ("doconut", /doconut/DocImage.axd anlamına gelir).
stringResPath"doconut-res/images" (26.9.0; "doconut-res" before)Widget'in kendi görüntülerini yüklediği klasör: ResourcesPath altındaki images klasörü, başında / olmadan.
stringFitType"width""width", "height", ya da otomatik sığdırma olmaması için boş. "page", mevcut widget tarafından kabul edilmez.
boolRetryOn409falseAsenkron/dağıtık bir sayfa isteği 409 yanıt verdiğinde yoklamayı etkinleştir. 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",           // başında '/' olmamalı: görüntüleyici bunu ekler ("/doconut" //doconut olur, başka bir ana bilgisayar)
    ResPath = "doconut-res/images",
    ShowHyperlinks = true
};

C#'tan JavaScript'e eşleme

Doğrudan serileştirilmiş bir ViewerConfig'ı docViewer(...)'a geçirmeyin. Çoğu widget anahtarı camelCase iken, üç yerleşik yol/fit anahtarı PascalCase'dir.

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'in C# sınıfından farklı eski varsayılanları vardır. Aşağıdaki değerler mevcut docViewer.js uygulamasından gelmektedir.

SeçenekVarsayılanNotlar
leftMinWidth / leftMaxWidth220 / 800Küçük resim bölmesi 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#'dan farklıdır (300).
showToolTip / toolTipPageTexttrue / "Page "Sayfa konumu araç ipucu.
format / doc / AccessToken"" / 0 / ""Dahili başlatma değerleri; genellikle View(token) tarafından doldurulur.
debugModefalseEk istemci teşhisleri.
FitType""Sağlanmadıkça otomatik sığdırma yok.
BasePath"DocImage.axd"Eski işleyici varsayılanı. ASP.NET Core için açıkça ayarlayın.
ResPath""Gömülü görüntü yolu olarak 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#'dan farklıdır (75).
showHyperlinkstrueKaplamaları üretmek için sunucu tarafı çıkarma gerekir.

Her iki varsayılan setine güvenmek yerine davranışsal olarak önemli tüm değerleri 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şlatılıyor.
onPageLoadedpageNumBir sayfa resmi yüklenmesi tamamlandı.
onThumbnailClickedpageNumKullanıcı bir küçük resim 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ündü.
onAnnLoadednoneNot ekleme verileri yüklendi.
onAnnSavednoneNot ekleme verileri kaydedildi.
onAnnSaveErrornoneNot ekleme kaydetme başarısız oldu.
onAnnClosednoneNot ekleme UI kapatıldı.

Geri çağrıları hızlı tutun; telemetrileri asenkron olarak 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 sığdırmaZoom(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 da içerir. Yalnızca referans UI tarafından kullanılan ve burada ya da özellik kılavuzlarında belgelenen yöntemleri, kararlı entegrasyon noktaları olarak değerlendirin.

HTTP 409'dan Sonra Tekrar Dene

retryOn409 asenkron sayfa üretimi içindir. Etkinleştirildiğinde, widget bu JavaScript varsayılanlarıyla periyodik istek 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 senkron bir renderı asenkron hâle getiremez.

Yol Kontrol Listesi

  • DoconutOptions.MiddlewarePath, gerçekte eşlediğiniz dalı tanımlamalıdır.
  • BasePath, o dalı hedeflemeli, başında / olmadan yazılmalıdır ('doconut', '/doconut' değil: görüntüleyici eğik çizgiyi ekler ve //doconut/... başka bir ana bilgisayara istek olur).
  • DoconutOptions.ResourcesPath, gömülü kaynak yolu'dur.
  • ResPath genellikle images alt klasörünü hedefler, ayrıca başında / olmadan ('doconut-res/images').
  • ExtractHyperlinks, showHyperlinks'ın bir şey görüntüleyebilmesi için sunucu format yapılandırmasında etkinleştirilmelidir.

Bu sayfa yardımcı oldu mu?