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ı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ı odaklamasını/kaydırmasını 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ı bunları çıkardığında hiperlink bindirmelerini 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 işleyicisidir. Sanal bir dizinde bir uygulama için, dizin adını başında / olmadan kullanın ("myapp" /myapp/DocImage.axd anlamına gelir).
stringResPath"doconut-res/images"Widget'in kendi resimlerini yüklediği klasör: ResourcesPath altındaki images klasörü, başında / olmadan.
stringFitType"width""width", "height" veya otomatik sığdırma yoksa boş. "page" mevcut widget tarafından kabul edilmez.
boolRetryOn409falseCevap olarak "still rendering" (hala render ediliyor) veren sayfa isteklerini yeniden dener. DocImage.axd senkron render eder ve bu sinyali asla göndermez; false bırakın.
csharp
var config = new ViewerConfig
{
    ShowThumbs = true,
    AutoLoad = false,
    PageZoom = 100,
    MaxZoom = 300,
    FitType = "width",
    BasePath = "/",                 // "/" = the DocImage.axd handler at the site root (Web.config)
    ResPath = "doconut-res/images", // the images folder under ResourcesPath, no leading '/'
    ShowHyperlinks = true
};
// Emit it with viewer.RenderViewer("viewerEl", token, config) - see the Viewer reference.

RenderViewer ile ViewerConfig Yayınlama

Viewer.RenderViewer(elementId, token, config) bir ViewerConfig'i widget'ın başlatma betiğine dönüştürür. Yukarıdaki altı özelliği yazar — BasePath, ResPath, ShowThumbs, AutoLoad, PageZoom ve FitType — ve ardından View(token)'ı çağırır. Diğer özellikler yazılmaz: MaxZoom, ShowHyperlinks, yakınlaştırma ayarları veya herhangi bir geri çağırma için, widget'ı aşağıdaki JavaScript seçenekleriyle kendiniz başlatın. RenderViewer için Görüntüleyici sayfasına bakın.

C#'tan JavaScript'e eşleme

Doğrudan serileştirilmiş bir ViewerConfig'i docViewer(...)'a geçirmeyin. Çoğu widget anahtarı camelCase iken, üç belirlenmiş 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, C# sınıfından farklı eski varsayılanlara sahiptir. 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# (300) değerinden farklıdır.
showToolTip / toolTipPageTexttrue / "Page "Sayfa konumlu 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 sığdırma yok.
BasePath"DocImage.axd"Eski varsayılan. Açıkça ayarlayın: site kökündeki işleyici için '/'.
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# (75) değerinden farklıdır.
showHyperlinkstrueKatmanlar oluşturmak için sunucu tarafı çıkarma gerekir.

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

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: '/',
    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.
onAnnLoadednoneAçıklama verisi yüklendi.
onAnnSavednoneAçıklama verisi kaydedildi.
onAnnSaveErrornoneAçıklama kaydetme başarısız oldu.
onAnnClosednoneAçıklama arayüzü 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 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(...)
AçıklamaSaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...)
KopyalaCopy(...), CopyPage(pageNumber), CopyMode(enabled)

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

Yeniden deneme seçenekleri

Widget ayrıca retryOn409 ve geri çekilme ayarlarını (retryInitialDelayMs, retryBackoffFactor, retryMaxDelayMs, retryMaxAttempts, retryMaxTotalMs) kabul eder. Bunlar, sayfalarının arka planda üretildiği dağıtımlara hizmet eder. DocImage.axd istek sırasında her sayfayı render eder, bu yüzden retryOn409 kapalı bırakılmalıdır.

Yol kontrol listesi

  • BasePath, DocImage.axd işleyicisi site kökünde olduğunda '/' olur — Web.config içindeki işleyicinin path özniteliği nerede yanıt vereceğini belirler. Sanal bir dizinde, başında / olmadan dizin adını kullanın ('myapp', '/myapp' değil: görüntüleyici eğik çizgiyi ekler ve //myapp/... başka bir ana bilgisayara istek olur).
  • DoconutOptions.ResourcesPath, kaynak modülünün gömülü dosyaları hizmet ettiği yerdir (/doconut-res varsayılan olarak).
  • ResPath, images alt klasörünü hedefler ve yine başında / olmadan ('doconut-res/images'). Bunu 'doconut-res' olarak ayarlamak, her simgenin 404 hatası almasına neden olurken belge yine de render edilir.
  • MVC'de, ResourcesPath'i değiştirdiğinizde routes.IgnoreRoute("doconut-res/{*pathInfo}") bu ayarın ardından gelmelidir.
  • ExtractHyperlinks, showHyperlinks'in bir şey gösterebilmesi için sunucu format yapılandırmasında etkinleştirilmelidir.

Bu sayfa yardımcı oldu mu?