Biçim Yapılandırmaları

Her biçim için tam render seçenekleri

Her belge, bir BaseConfig uygulamasıyla açılır. Bunu OpenDocumentAsync'e geçirin veya format kataloğunun varsayılanını oluşturmasına izin verin. Aşağıdaki tüm sınıflar Doconut ad alanında bulunur.

csharp
var token = await viewer.OpenDocumentAsync(path, new PdfConfig
{
    AllowSearch = true,
    AllowCopy   = true,
    ImageResolution = 150
});

Kalıtım ve iç içe PDF ayarları

Her format, beş BaseConfig özelliğini devralır. PDF üzerinden yönlendirebilen formatlar iç içe bir PdfConfig sunar. WordConfig, ExcelConfig ve PptConfig içinde AllowSearch ve AllowCopy, iç içe PdfConfig'i okuyan ve yazan kullanışlı özelliklerdir.

DefaultRender = true yerel format işleyicisini seçer. PDF yönlendirmeli formatlarda, false önce bellekte bir PDF'ye dönüştürür ve ardından PDF görüntüleyiciyi kullanır. Bu yol, metin-koordinat araması için genellikle yararlıdır, ancak ek bir dönüşüm maliyeti getirir.

Aksi belirtilmedikçe, tablolar yapıcı/özellik varsayılanlarını gösterir. Otomatik format kataloğu bilinçli olarak ikisini geçersiz kılar: ExcelConfig'i SplitWorksheets = true ile ve MhtConfig'i DefaultRender = false ile oluşturur.

BaseConfig

TürÖzellikVarsayılanDavranış
intImageResolution00 format varsayılanını kullanır. Geçerli açık aralık 25-300 DPI'dir; geçersiz atamalar yok sayılır.
stringDocumentCulture""Tarih ve sayılar için yerel ayar. Boş olmayan değerler kırpılır; boş atamalar yok sayılır.
stringPassword""Korunan belge şifresi. DocOptions.Password otomatik olarak buraya kopyalanır.
boolShowUItrueUyumluluk özelliği; mevcut işleyici bunu tarayıcı araç çubuğunu kontrol etmek için kullanmaz.
boolCachePagestrueBelge oturumu için oluşturulan sayfa görüntülerini önbelleğe al.

PdfConfig

Biçimler: PDF. Varsayılan DPI: 200.

TürÖzellikVarsayılanDavranış
boolDefaultRendertrueUyumluluk anahtarı. Mevcut fabrika yerel PDF görüntüleyiciyi kullanır.
boolAllowSearchfalsePDF metin arama indeksini oluşturur/kullanır. İstekler için Search lisans yeteneği gerekir.
boolAllowCopyfalseMetin seçme/kopyalama işlemlerine izin verir.
boolExtractHyperlinksfalseİstemci bindirmeleri için bağlantı dikdörtgenlerini çıkar.
intHyperlinksPageCount0Bağlantılar için taranan maksimum sayfa; 0 tüm sayfalar anlamına gelir.
boolCompressImagesfalseGörünümden önce gömülü görüntüleri sıkıştır.
intCompressQuality100Sıkıştırma etkin olduğunda kullanılan JPEG kalitesi.
boolResizeImagesfalseGörünümden önce gömülü görüntüleri yeniden boyutlandır.
intResizeResolution300Yeniden boyutlandırılmış görüntüler için hedef DPI.
boolCompressFastfalseDaha hızlı, düşük kaliteli sıkıştırma yolunu tercih et.
boolFixInvalidImagesfalseGeçersiz gömülü görüntüleri onarmaya çalış.
boolSplitSegmentsfalseArama/kopyayı iyileştirmek için satır segmentleri arasında bölünmüş kelimeleri birleştir.

ViewerConfig içindeki showHyperlinks istemci bindirmesini kontrol eder, ExtractHyperlinks ise sunucu çıkarımını kontrol eder. İkisini de etkinleştirin.

WordConfig

Biçimler: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. Varsayılan DPI: 200.

TürÖzellikVarsayılanDavranış
boolDefaultRendertrueYerel Word render; false PDF yönlendirmesini kullanır.
PdfConfigPdfConfignew instancePDF/arama yolu tarafından kullanılan ayarlar.
DocPaperSizePaperSizeA4Çıktı kağıt boyutu. Genişlik/yükseklik ile Custom kullanın.
intPaperWidth595Nokta cinsinden özel genişlik.
intPaperHeight841Nokta cinsinden özel yükseklik.
boolRemovePaperMarginfalseBelge sayfa kenar boşluklarını kaldır.
boolRenderPageColortrueWord'ün ayarlanmış sayfa rengini koru; false beyaz sayfalar render eder.
boolExportPdfAfalsePDF yolunda arşiv PDF/A kullan.
Encoding?FileEncodingnullKaynak kodlamasını geçersiz kıl.
stringFontInfo""Yazı tipi ikame bilgisi.
string[]?FontFoldersnullEk yazı tipi dizinleri, özellikle Linux/konteynerlerde faydalıdır.
boolAllowSearchfalsePdfConfig.AllowSearch'e yönlendirir.
boolAllowCopyfalsePdfConfig.AllowCopy'e yönlendirir.
TableAutoFitBehaviorAutoFitAllTablesNoneNone, AutoFitToContents veya AutoFitToWindow.

ExcelConfig

Biçimler: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. Varsayılan DPI: 200.

TürÖzellikVarsayılanDavranış
boolDefaultRendertrueYerel sayfa render; false PDF yönlendirmesini kullanır.
PdfConfigPdfConfignew instancePDF/arama yolu için ayarlar.
ExcelPaperSizePaperSizePaperA4Çıktı kağıt boyutu.
doublePaperMargins0.25Sayfa kenar boşlukları inç cinsinden.
boolPaperLandscapetrueYatay sayfa renderı.
boolAutoFitContentsfalseSatır yüksekliklerini ve sütun genişliklerini otomatik sığdır.
boolRemoveEmptyContenttrueBoş içeriği dışarıda bırakarak çıktıyı sıkılaştır.
boolCalculateFormulatrueRender öncesi formülleri yeniden hesapla.
boolShowRowColumnHeaderstrueElektronik tablo başlıklarını dahil et.
boolExportPdfAfalsePDF yolunda PDF/A kullan.
boolSplitWorksheetsfalseÇalışma sayfalarını ayrı sayfa grupları olarak tut.
boolShowEmptyWorkSheetsfalseBoş çalışma sayfalarını dahil et.
boolExportLandscapefalseYatay dışa aktarmayı zorla.
boolExportOnePagePerSheetfalseHer çalışma sayfasını tek çıktı sayfasına sığdır.
boolMemoryOptimizationPreferencetrueTepe bellek kullanımını azalt, muhtemelen biraz hız kaybı ile.
boolAutoTrimWorksheetRenderRangetrueAçık bir baskı alanı yoksa yalnızca görünen kullanılan aralığı render et.
boolAutoTrimPreserveExistingPrintAreatrueOtomatik kırpma sırasında çalışma kitabı tanımlı baskı alanlarını koru.
string?PrintAreanull"A1:Z100" gibi açık aralık.
boolPrintGridlinesfalseÇalışma sayfası ızgaralarını yazdır.
boolPrintHeadingsfalseSatır/sütun başlıklarını yazdır.
List<string>SheetNamesemptyRender'ı yalnızca adlandırılmış çalışma sayfalarına kısıtla.
CustomStyleCell?CustomStylesnullİsteğe bağlı tarih/ondalık/tamsayı biçimlendirme geçersiz kılmaları.
boolAllowSearchfalsePdfConfig.AllowSearch'e yönlendirir.
boolAllowCopyfalsePdfConfig.AllowCopy'e yönlendirir.

CustomStyleCell, CustomStyleDateTime, CustomStyleNumberDecimal ve CustomStyleNumberInteger adlı, tümü nullable string olan özellikleri ortaya çıkarır.

new ExcelConfig() SplitWorksheets'i false olarak ayarlar; açık bir yapılandırma olmadan bir Excel dosyası açmak, SplitWorksheets'i true olarak ayarlayan format kataloğunu kullanır.

PptConfig

Biçimler: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. Varsayılan DPI: 200.

TürÖzellikVarsayılanDavranış
boolDefaultRendertrueYerel slayt render; false PDF yönlendirmesini kullanır.
boolFastLoadfalseAçılışta ilk slaytı render etmeyi önler; meta verileri kullanır ve talep üzerine render eder.
PdfConfigPdfConfignew instancePDF/arama davranışı için ayarlar.
stringFontInfo""Yazı tipi ikame bilgisi.
string[]?FontFoldersnullEk yazı tipi dizinleri.
boolAllowSearchfalsePdfConfig.AllowSearch'e yönlendirir.
boolAllowCopyfalsePdfConfig.AllowCopy'e yönlendirir.

Linux ve macOS'ta, mevcut motorla sunum renderı libgdiplus ve System.Drawing.EnableUnixSupport=true gerektirir. Sunumda kullanılan yazı tiplerini kurun veya FontFolders sağlayın.

CadConfig

Biçimler: DWG, DXF, DGN. Varsayılan DPI: 200.

TürÖzellikVarsayılanDavranış
boolDefaultRendertrueYerel CAD render; false PDF yönlendirmesini kullanır.
PdfConfigPdfConfignew instancePDF yolu ayarları.
boolExportPdfAfalseArşiv PDF/A çıktısı.
boolShowColortrueMonokrom yerine renk.
boolWhiteBackgroundtrueSiyah yerine beyaz arka plan.
shortLineWidth25CAD çizgi kalınlığı.
boolShowLayoutsfalseDüzen sekmelerini render et.
boolShowModeltrueModel alanını render et.
boolCheck3DSolidtrue3D katı nesneleri işle.
boolExportAllLayoutsfalseTüm düzenleri dışa aktar, model/düzen seçimini geçersiz kılar.
boolLimitMinimumSizefalseMinimumSize uygula.
intMinimumSize700Piksel cinsinden minimum çıktı boyutu.
boolLimitMaximumSizefalseMaximumSize uygula.
intMaximumSize700Piksel cinsinden maksimum çıktı boyutu.
boolShowAllLayoutsDgnfalseTüm DGN düzenlerini dahil et.
boolAutomaticLayoutScalingtrueDüzenleri otomatik ölçeklendir.
floatPdfMargins0.5İnç cinsinden PDF kenar boşluğu.
RenderQualityQualityImageLowRaster kalitesi: Low, Medium veya High.
RenderQualityQualityTextMediumMetin kalitesi: Low, Medium veya High.

EmailConfig

Biçimler: EML, EMLX, MSG. Varsayılan DPI: 200.

TürÖzellikVarsayılanDavranış
boolDefaultRendertrueYerel e-posta render; false PDF yönlendirmesini kullanır.
PdfConfigPdfConfignew instancePDF yolu ayarları.
Encoding?EmailEncodingnullMesaj kodlamasını geçersiz kıl.
Encoding?SubjectEncodingnullKonu kodlamasını geçersiz kıl.
Encoding?BodyEncodingnullGövde kodlamasını geçersiz kıl.
boolSkipExternalImagesfalseUzakta referans verilen görüntüleri yükleme. Güvenilmeyen e-postalar için önerilir.
boolRemoveLastWhitePagefalseSondaki boş sayfayı kaldır.
boolUseAntiAliasingfalseAnti-aliasing'i etkinleştir.
boolUseHighQualityRenderingfalseDaha temiz, daha yavaş renderı tercih et.
TimeSpan?TimeZoneOffsetnullTarih için kullanılan saat dilimini geçersiz kıl.
boolForcePageSizefalseSabit sayfa boyutlarını zorla.

ImageConfig, TiffConfig, and PsdConfig

ImageConfig JPG, JPEG, JPE, PNG, BMP, GIF, ICO, EPS, TGA, WEBP, CDR, CMX, DNG, EMF, WMF, AVIF ve SVG formatlarını kapsar. Varsayılan DPI'sı 100.

YapılandırmaÖzellikVarsayılanDavranış
ImageConfigMaxImagePixelSize3000Maksimum genişlik/yükseklik. 0 sınırsız anlamına gelir; 50'nin altındaki sıfır olmayan değerler yok sayılır.
ImageConfigTransparentPngtruePNG şeffaflığını koru; false beyaz arka plan kullanır.
TiffConfigno additional propertiesDPI 200Sadece BaseConfig kullanır; çok sayfalı TIFF destekler.
PsdConfigMaxImagePixelSize3000ImageConfig ile aynı 0/minimum-50 doğrulaması; varsayılan DPI 100.

DicomConfig

Biçimler: DCM, IMA. Varsayılan etkili DPI: 100. DICOM eklentisi gerekir.

TürÖzellikVarsayılanDavranış
intHorizontalResolution100 effectiveAçık yatay DPI; aksi takdirde ImageResolution, ardından 100.
intVerticalResolution100 effectiveAçık dikey DPI; aksi takdirde ImageResolution, ardından 100.
intAnimationFrameDelayMs100Çok çerçeveli animasyon gecikmesi; GIF zamanlaması 10 ms birimleri kullanır.
ushortLoopCount00 sonsuza kadar döner; pozitif değerler belirtilen sayıda durur.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly, FramesOnly veya birleşik genel bakış artı statik çerçeveler.

TxtConfig

Biçim: TXT. Varsayılan DPI: 200.

TürÖzellikVarsayılanDavranış
DocPaperSizePaperSizeA4Çıktı kağıt boyutu.
Encoding?FileEncodingnullnull UTF-8 kullanır.
stringFontInformation""Metin renderı için yazı tipi bilgisi.

Düz metnin daha zengin sayfa düzeni davranışı gerektirdiği durumlarda WordConfig kullanın.

ProjectConfig

Biçimler: MPP, MPPX, MPX. Varsayılan DPI: 200.

TürÖzellikVarsayılanDavranış
boolDefaultRendertrueYerel Gantt görüntüsü; false metin tabanlı PDF yolunu kullanır.
PdfConfigPdfConfignew instancePDF yolu ayarları.
boolExportPdfAtrueArşiv PDF/A çıktısı.
MppPaperSizePaperSizeLedgerProje çıktı kağıt boyutu.
MppTimeScaleTimeScaleMonthsDays veya Months.
MppFormatPresentationFormatGanttChartGanttChart, TaskUsage, ResourceUsage, ResourceSheet veya TaskSheet.

Tam metin-koordinat araması için DefaultRender = false kullanın.

VisioConfig

Biçimler: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. Varsayılan DPI: 200.

TürÖzellikVarsayılanDavranış
boolDefaultRendertrueYerel diyagram render; false PDF yönlendirmesini kullanır.
PdfConfigPdfConfignew instancePDF yolu ayarları.
boolExportPdfAtrueArşiv PDF/A çıktısı.

HtmlConfig, EpubConfig, MhtConfig, and XpsConfig

Dörtü de varsayılan olarak 200 DPI'ye sahiptir ve iç içe bir PdfConfig sunar.

YapılandırmaBiçimlerDefaultRenderEk özellikler/davranış
HtmlConfigHTML, HTMtrueYerel render; metin tabanlı PDF arama yolu için false kullan.
EpubConfigEPUBtrueYerel render; false PDF kullanır.
MhtConfigMHT, MHTMLsınıfta true; otomatik katalogda falseNormal yapılandırmasız açma, aranabilir PDF yönlendirmesini kullanır. Açıkça oluşturulmuş varsayılan örnek yerel olarak render eder.
XpsConfigXPSfalseVarsayılan olarak PDF yolunu kullanır; yerel görüntü renderı için true ayarlayın.

Configuration examples by family

csharp
BaseConfig[] configs =
{
    new PdfConfig
    {
        AllowSearch = true,
        ExtractHyperlinks = true,
        HyperlinksPageCount = 0
    },
    new WordConfig
    {
        PaperSize = DocPaperSize.A4,
        RemovePaperMargin = false,
        FontFolders = new[] { "/usr/share/fonts/truetype" },
        AllowSearch = true
    },
    new ExcelConfig
    {
        PaperLandscape = true,
        AutoFitContents = true,
        CalculateFormula = true,
        SplitWorksheets = false,
        PrintGridlines = false
    },
    new PptConfig
    {
        FastLoad = true,
        FontFolders = new[] { "/usr/share/fonts/truetype" },
        AllowSearch = true
    },
    new CadConfig
    {
        ShowColor = true,
        WhiteBackground = true,
        ShowModel = true,
        ShowLayouts = false,
        QualityText = CadConfig.RenderQuality.High
    },
    new EmailConfig
    {
        SkipExternalImages = true,
        RemoveLastWhitePage = true,
        TimeZoneOffset = TimeSpan.Zero
    },
    new ImageConfig
    {
        MaxImagePixelSize = 3000,
        TransparentPng = true
    },
    new DicomConfig
    {
        DisplayMode = DicomDisplayMode.AnimationAndFrames,
        AnimationFrameDelayMs = 100,
        LoopCount = 0
    }
};

Per-extension selection

csharp
static BaseConfig? ConfigForExtension(string extUpper) => extUpper switch
{
    ".DOC" or ".DOCX" or ".DOT" or ".DOTX" or ".ODT" => new WordConfig
    {
        AutoFitAllTables = WordConfig.TableAutoFitBehavior.AutoFitToWindow,
        PaperSize = DocPaperSize.Tabloid,
        PdfConfig = new PdfConfig { ExtractHyperlinks = true, HyperlinksPageCount = 5, AllowCopy = true }
    },
    ".PDF" => new PdfConfig { AllowSearch = true, AllowCopy = true },
    ".XLS" or ".XLSX" or ".ODS" or ".CSV" => new ExcelConfig { AllowSearch = true, AllowCopy = true },
    ".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },
    // DefaultRender = false → PDF redirect → pixel-accurate native text search
    ".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
    ".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
    _ => null // fall back to the format's default config
};

Bu sayfa yardımcı oldu mu?