Render İşlem Hattı
Belgeden sayfa görüntülerine
OpenDocumentAsync ile tarayıcıya ulaşan PNG arasında iki ayrı aşama bulunur: görüntüleyici çözümlemesi (belgeyi hangi motorun yüklediği, her açılışta bir kez belirlenir) ve sayfa işleme (her DocImage.axd isteğinde her sayfa görüntüsüyle ne yapılır). İkisini de bilmek, bir formatın neden bu şekilde render edildiğini ve DefaultRender'nin gerçekte neyi değiştirdiğini açıklar.
Aşama 1 — Format görüntüleyicisini çözümleme
Fabrika, dosya uzantısını format kataloğu aracılığıyla bir görüntüleyiciye eşler ve üç öncelik seviyesine sahiptir:
- Özel görüntüleyiciler önce.
DoconutOptions.RegisterViewer(extension, factory, defaultConfig?)ile kaydettiğiniz her şey yerleşik olanların üzerine geçer. - Yerleşik aile görüntüleyicileri. Katalog, her görüntülenebilir uzantıyı bir görüntüleyici ailesine bağlar — Word, Excel, PowerPoint, Pdf, Cad, Dgn, Image, Tiff, Psd, Email, Visio, Project, Xps, Epub, Txt, Html, Mht, Dcn — ve her birinin kendi motor adaptörü vardır. Lisanslı bir eklenti aynı uzantı için bir görüntüleyici sağlarsa, eklentinin görüntüleyicisi yerleşik olanı değiştirir.
- Yalnızca eklenti formatları. Bazı uzantıların hiç yerleşik görüntüleyicisi yoktur — DICOM (
.dcm,.ima) yalnızca DICOM eklentisi aracılığıyla bulunur. Gerekli yetenek olmadan bir DICOM açmaya çalışmak şu hatayı üretir:
LicenseException: This document type requires the 'Dicom' plugin license.Hiçbir görüntüleyicinin talep ettiği bir uzantı FormatNotSupportedException hatasını oluşturur.
Çözümleme tamamlandıktan sonra yapılandırma sabitlenir: eğer bir yapılandırma nesnesi sağladıysanız onu, aksi takdirde katalogdaki formatın varsayılan yapılandırmasını kullanır. Korunan belgeler için DocOptions.Password yapılandırmaya kopyalanır.
Aşama 1b — Yönlendirme modu (DefaultRender = false)
Çoğu format‑özel yapılandırma bir DefaultRender bayrağı ortaya çıkar. Bu bayrak iki temelde farklı yolu seçer:
DefaultRender = true— belge yerel olarak, doğrudan sayfa görüntülerine render edilir.DefaultRender = false— belge önce bellekte bir PDF’ye dönüştürülür, kaynak motor serbest bırakılır ve bir PDF görüntüleyici devreye girer. Oluşturulan PDF gerçek metin içerdiği için tam‑metin arama doğru yerel vurgular elde eder; yönlendirilmiş PDF için işlem hattıAllowSearchveAllowCopy'yi etkinleştirir, çünkü dönüşüm kullanıcıya görünmez.
XPS ve MHT varsayılan olarak yönlendirme yolunu kullanır. PDF projeksiyonu, HTML ve Microsoft Project gibi formatlara yerel arama sağlar. Oluşturulan PDF metin katmanı olmadan yalnızca görüntü içeriyorsa, bu pikseller aranamaz.
Belge açıldığında bir ön dönüşüm gerektiren, aranabilir ve metin içeren bir projeksiyona ihtiyacınız varsa yönlendirme modunu kullanın.
Aşama 2 — Sayfa‑görüntü işlem hattı
Her DocImage.axd isteği sabit bir sıralamayı yürütür:
raw page PNG → watermark → rotate/flip → scale → annotation burn → PNG to the response- Filigran — lisans durumundan (lisans yok, süresi dolmuş geçici veya abonelik lisansı, geçersiz alan adı, lisansın sürüm aralığının dışındaki bir derleme) ve
DocOptions.Watermarküzerinden kendi metninizden uygulanır. Özel filigranı olmayan lisanslı bir site bu adımı atlar. - Döndür/çevril — kullanıcı widget içinde ayarladığı sayfa başına durum (90°/180°/270°, yatay ve dikey çevirme) oturumda saklanır ve o sayfanın sonraki her render’ında uygulanır.
- Ölçekle — küçük resimler ve yakınlaştırma seviyeleri, render edilen sayfanın istenen boyuta ölçeklenmesiyle üretilir.
- Not ekleme yanması — kaydedilmiş notlar bitmap üzerine çizilir, böylece dışa aktarımlar ve sayfa görüntüleri notları gösterir.
- Kodlama — sonuç PNG olarak kodlanır ve doğrudan yanıt akışına yazılır.
İşleyici içinde oluşan hatalar PNG hata görüntüleri (beyaz üzerine kırmızı metin) olarak, HTTP hata sayfaları yerine durum kodu 200 ile döndürülür; böylece widget bu hataları sayfa alanında gösterebilir.
Sayfa önbellekleme
BaseConfig.CachePages (varsayılan true) belge oturumunun ömrü boyunca render edilmiş sayfa görüntülerini bellekte tutar, böylece bir sayfayı yeniden ziyaret etmek yeniden render edilmez. BaseConfig.ImageResolution (25–300 DPI, 0 = formatın varsayılanı) ana kalite ve bellek ayarıdır; her formatın varsayılanı Format Configs içinde listelenir.
Tek bir düğümde, oturumlar ve önbelleğe alınan sayfalar işçi sürecinin belleğinde yaşar. Bir uygulama havuzu yeniden başlatması — zamanlanmış, bir Web.config düzenlemesi ya da boşta kalma süresi nedeniyle — tüm açık belge oturumlarını düşürür ve widget ardından Document session not found. Please re-open document. gösterir. Dağıtık modda (bkz. Sessions & Security), bir oturum paylaşılan depodan yeniden oluşturulur.
Neyi nerede ayarlamalısınız
| İstediğiniz | Ayarlama |
|---|---|
| Daha keskin sayfalar | ImageResolution format yapılandırmasında |
| HTML, EPUB, e-posta, MHT veya MPP üzerinde doğru metin arama | DefaultRender = false format yapılandırmasında |
| Büyük belgelerde daha az bellek | CachePages = false, ve oturumları açıkça kapatın |
| Her sayfada kendi damganız | DocOptions.Watermark |
Bu sayfa yardımcı oldu mu?