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 | Özellik | Varsayılan | Açıklama |
|---|---|---|---|
bool | ShowThumbs | true | Küçük resim panelini göster. |
bool | AutoLoad | false | Başlatmadan sonra otomatik olarak yükle. Normal token akışı View(token)'ı açıkça çağırır. |
bool | AutoFocus | true | Başlatma sırasında tarayıcı odaklamasını/kaydırmasını görüntüleyiciye taşı. |
bool | AutoPageFocus | true | Sayfalar değişirken mevcut küçük resmi görünür tut. |
int | PageZoom | 100 | İlk yakınlaştırma yüzdesi. |
int | ZoomStep | 10 | Yakınlaştırma komutlarıyla eklenen veya çıkarılan yüzde. |
int | MaxZoom | 300 | Maksimum yakınlaştırma yüzdesi. |
bool | ShowToolTip | true | Kaydırma sırasında sayfa konumu araç ipucunu göster. |
string | ToolTipPageText | "Page " | Sayfa araç ipucunda kullanılan önek. |
bool | CacheEnabled | false | Tarayıcı belleğinde sayfa görüntülerinin hareketli bir penceresini tut. localStorage kullanmaz. |
bool | LargeDoc | false | Büyük belgeler için sayfa öğelerini zamanlanmış toplu olarak ekle. |
bool | ShowHyperlinks | false | Sunucu yapılandırması bunları çıkardığında hiperlink bindirmelerini render et. |
bool | FixedZoom | true | Duyarlı yeniden hesaplama yerine sabit bir yakınlaştırma yüzdesi kullan. |
int | FixedZoomPercent | 100 | Sabit masaüstü yakınlaştırması. |
int | FixedZoomPercentMobile | 75 | Sabit mobil yakınlaştırma. |
string | BasePath | "/" | 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). |
string | ResPath | "doconut-res/images" | Widget'in kendi resimlerini yüklediği klasör: ResourcesPath altındaki images klasörü, başında / olmadan. |
string | FitType | "width" | "width", "height" veya otomatik sığdırma yoksa boş. "page" mevcut widget tarafından kabul edilmez. |
bool | RetryOn409 | false | Cevap 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. |
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 |
|---|---|
ShowThumbs | showThumbs |
AutoLoad | autoLoad |
AutoFocus | autoFocus |
AutoPageFocus | autoPageFocus |
PageZoom | pageZoom |
ZoomStep | zoomStep |
MaxZoom | maxZoom |
ShowToolTip | showToolTip |
ToolTipPageText | toolTipPageText |
CacheEnabled | cacheEnabled |
LargeDoc | largeDoc |
ShowHyperlinks | showHyperlinks |
FixedZoom | fixedZoom |
FixedZoomPercent | fixedZoomPercent |
FixedZoomPercentMobile | fixedZoomPercentMobile |
BasePath | BasePath |
ResPath | ResPath |
FitType | FitType |
RetryOn409 | retryOn409 |
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çenek | Varsayılan | Notlar |
|---|---|---|
leftMinWidth / leftMaxWidth | 220 / 800 | Küçük resim bölmesi genişlik sınırları. |
showThumbs | true | İlk küçük resim görünürlüğü. |
autoFocus / autoPageFocus | true / false | autoPageFocus C# varsayılanından farklıdır. |
thumbWidth / thumbHeight / thumbPadding | 150 / 200 / 10 | Piksel cinsinden küçük resim geometrisi. |
pageZoom / zoomStep / maxZoom | 100 / 10 / 200 | JavaScript maxZoom C# (300) değerinden farklıdır. |
showToolTip / toolTipPageText | true / "Page " | Sayfa konumlu araç ipucu. |
format / doc / AccessToken | "" / 0 / "" | Dahili başlatma değerleri; genellikle View(token) ile doldurulur. |
debugMode | false | Ek 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 / cacheDelay | false / 3 / 3 | Bellek içi sayfa ön yükleme penceresi ve gecikmesi. |
autoLoad | false | Açık token akışı önerilir. |
largeDoc | true | C# varsayılanından farklıdır. |
fixedZoom | false | C# varsayılanından farklıdır. |
fixedZoomPercent / fixedZoomPercentMobile | 100 / 50 | Mobil değer C# (75) değerinden farklıdır. |
showHyperlinks | true | Katmanlar oluşturmak için sunucu tarafı çıkarma gerekir. |
Davranışsal olarak önemli tüm değerleri ayarlayın, varsayılanlardan birine güvenmek yerine:
<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ümanlar | Amaç |
|---|---|---|
onPageLoading | pageNum | Bir sayfa isteği başlıyor. |
onPageLoaded | pageNum | Bir sayfa resmi yüklenmesi tamamlandı. |
onThumbnailClicked | pageNum | Kullanıcı bir küçük resmi seçti. |
onPageClicked | pageNum | Kullanıcı bir sayfa seçti. |
onDoubleClick | none | Görüntüleyici çift tıklama aldı. |
onViewerBusy | none | Görüntüleyici meşgul duruma girdi. |
onViewerReady | none | Başlatma tamamlandı. |
onViewerError | none | Görüntüleyici hata durumuna girdi. |
onError | message | Bir işlem hata mesajı döndürdü. |
onCopy | data | Metin kopyalama verisi mevcut. |
onAutoLoadStatus | pageNum | Otomatik yükleme bir sayfaya ilerledi. |
onThumbsShown | none | Küçük resim paneli görünür oldu. |
onAnnLoaded | none | Açıklama verisi yüklendi. |
onAnnSaved | none | Açıklama verisi kaydedildi. |
onAnnSaveError | none | Açıklama kaydetme başarısız oldu. |
onAnnClosed | none | Açıklama arayüzü kapandı. |
Geri çağrıları hızlı tutun; telemetrileri asenkron gönderin ve sayfa renderını engellemeyin.
Genel yöntem grupları
| Grup | Ortak yöntemler |
|---|---|
| Yaşam Döngüsü | View(token, accessToken?), Close(server?), Token(), Init(), IsLoaded() |
| Gezinme | GotoPage(page), ShowPage(page, focus?), Next(next), CurrentPage(), TotalPages() |
| Yakınlaştırma ve sığdırma | Zoom(zoomIn), CurrentZoom(), FitType(value), Refit() |
| Yönlendirme | Rotate(page, angle), Flip(page, flipType) |
| Küçük Resimler | HideThumbs(hide), ThumbSize(size), ReloadThumbs(width), ScrollToThumb(thumb) |
| Arama | CanSearch(), Search(...), SearchMatchCount(), SearchSummary(...), GotoSearchMatch(...) |
| Açıklama | SaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...) |
| Kopyala | Copy(...), 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.axdişleyicisi site kökünde olduğunda'/'olur —Web.configiçindeki işleyicininpathö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-resvarsayılan olarak).ResPath,imagesalt 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ğinizderoutes.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?