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 | Ö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ı odak/scrollunu 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 eklemelerle ekle. |
bool | ShowHyperlinks | false | Sunucu yapılandırması bunları çıkardığında hiperlink bindirmelerini renderla. |
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 | "/" | UseDoconut()'un haritalandığı dal. |
string | ResPath | "doconut-res" | Widget tarafından kullanılan kaynak temeli. Normal bir kurulumda <ResourcesPath>/images'a işaret eder. |
string | FitType | "width" | "width", "height" veya otomatik uyum yoksa boş. "page" mevcut widget tarafından kabul edilmez. |
bool | RetryOn409 | false | Asenkron/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. |
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 |
|---|---|
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ımlara sahiptir. Aşağıdaki değerler mevcut docViewer.js uygulamasından gelmektedir.
| Seçenek | Varsayılan | Notlar |
|---|---|---|
leftMinWidth / leftMaxWidth | 220 / 800 | Küçük resim paneli 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#'den (300) farklıdır. |
showToolTip / toolTipPageText | true / "Page " | Sayfa konumu 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 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 / 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#'den (75) farklıdır. |
showHyperlinks | true | Bindirmeleri ü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:
<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ü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 | Not ekleme verileri yüklendi. |
onAnnSaved | none | Not ekleme verileri kaydedildi. |
onAnnSaveError | none | Not ekleme kaydetme başarısız. |
onAnnClosed | none | Not ekleme UI 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 uyum | 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(...) |
| Not ekleme | SaveAnnotations(), GetAnnotations(), PushAnnotations(...), CloseAnnotations(...), ShowAnnotations(...) |
| Kopyala | Copy(...), 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çenek | Varsayılan |
|---|---|
retryInitialDelayMs | 250 |
retryBackoffFactor | 1.6 |
retryMaxDelayMs | 2500 |
retryMaxAttempts | 60 |
retryMaxTotalMs | 120000 |
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.MiddlewarePathgerçekten eşlediğiniz dalı tanımlamalıdır.BasePatho dalı hedeflemelidir.DoconutOptions.ResourcesPathgömülü kaynak yolu.ResPathgenellikle/imagesalt klasörünü hedefler.ExtractHyperlinkssunucu format yapılandırmasındashowHyperlinksbir şey gösterene kadar etkinleştirilmelidir.
Bu sayfa yardımcı oldu mu?