Format Yapılandırmaları

Her format için tam render seçenekleri

Her belge, bir BaseConfig uygulamasıyla açılır. Birini 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.

Bu tek ad alanı yeni. Önceki .NET Standard kütüphanesi bu türleri Doconut.Configs, Doconut.Configs.View ve Doconut.Models arasında dağıtmıştı. Tür adları değişmedi — çoğu dosyada tek düzenleme iki using satırını silmek. Bkz. göç rehberi.

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 kolaylık özellikleridir.

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 genellikle metin‑koordinat araması için faydalı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 yoksayılır.
stringDocumentCulture""Tarih ve sayıların yerel ayarı. Boş olmayan değerler kırpılır; boş atamalar yoksayı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

Formatlar: PDF. Varsayılan DPI: 200.

TürÖzellikVarsayılanDavranış
boolDefaultRendertrueUyumluluk anahtarı. Mevcut fabrika yerel PDF görüntüleyiciyi kullanır.
boolAllowSearchfalsePDF metin‑arama dizinini 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ır.
intHyperlinksPageCount0Bağlantılar için taranan azami sayfa sayısı; 0 tüm sayfalar demektir.
boolCompressImagesfalseOluşturma öncesi gömülü görüntüleri sıkıştır.
intCompressQuality100Sıkıştırma etkin olduğunda kullanılan JPEG kalitesi.
boolResizeImagesfalseOluşturma öncesi 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

Formatlar: 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.
PdfConfigPdfConfigyeni örnekPDF/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 oluşturur.
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.
PdfConfigPdfConfigyeni örnekPDF/arama yolu için ayarlar.
ExcelPaperSizePaperSizePaperA4Çıktı kağıt boyutu.
doublePaperMargins0.25Sayfa kenar boşlukları inç cinsinden.
boolPaperLandscapetrueYatay sayfa render'ı.
boolAutoFitContentsfalseSatır yüksekliği ve sütun genişliğini otomatik ayarlar.
boolRemoveEmptyContenttrueBoş içeriği hariç tutarak çıktıyı sıkılaştır.
boolCalculateFormulatrueRender'dan önce formülleri yeniden hesaplar.
boolShowRowColumnHeaderstrueElektronik tablo başlıklarını dahil eder.
boolExportPdfAfalsePDF yolunda PDF/A kullan.
boolSplitWorksheetsfalseÇalışma sayfalarını ayrı sayfa grupları olarak tut.
boolShowEmptyWorkSheetsfalseBoş çalışma sayfalarını dahil eder.
boolExportLandscapefalseYatay dışa aktarmayı zorlar.
boolExportOnePagePerSheetfalseHer çalışma sayfasını tek çıktı sayfasına sığdır.
boolMemoryOptimizationPreferencetrueMaksimum belleği azaltır, muhtemelen biraz hız kaybı ile.
boolAutoTrimWorksheetRenderRangetrueAçık bir yazdırma alanı yoksa yalnızca görünen kullanılan aralığı render eder.
boolAutoTrimPreserveExistingPrintAreatrueOtomatik kırpma sırasında çalışma kitabı tanımlı yazdırma alanlarını korur.
string?PrintAreanullÖrneğin "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'i yalnızca adlandırılmış çalışma sayfalarıyla sınırlayın.
CustomStyleCell?CustomStylesnullİsteğe bağlı tarih/ondalık/tamsayı biçimlendirme geçersiz kılmaları.
boolAllowSearchfalsePdfConfig.AllowSearch'e devredilir.
boolAllowCopyfalsePdfConfig.AllowCopy'e devredilir.

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

new ExcelConfig() SplitWorksheets özelliğini false olarak ayarlar; açık bir yapılandırma olmadan bir Excel dosyası açmak format kataloğunu kullanır ve bu da onu true yapar.

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.
PdfConfigPdfConfigyeni örnekPDF/arama davranışı için ayarlar.
stringFontInfo""Yazı tipi ikame bilgisi.
string[]?FontFoldersnullEk yazı tipi dizinleri.
boolAllowSearchfalsePdfConfig.AllowSearch'e devredilir.
boolAllowCopyfalsePdfConfig.AllowCopy'e devredilir.

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.
PdfConfigPdfConfigyeni örnekPDF yolu ayarları.
boolExportPdfAfalseArşiv PDF/A çıktısı.
boolShowColortrueMonokrom yerine renk.
boolWhiteBackgroundtrueSiyah yerine beyaz arka plan.
shortLineWidth25CAD çizgi kalınlığı.
boolShowLayoutsfalseDüzen sekmelerini render eder.
boolShowModeltrueModel alanını render eder.
boolCheck3DSolidtrue3D katı nesneleri işler.
boolExportAllLayoutsfalseTüm düzenleri dışa aktarır, model/düzen seçimini geçersiz kılar.
boolLimitMinimumSizefalseMinimumSize uygular.
intMinimumSize700Piksel cinsinden minimum çıktı boyutu.
boolLimitMaximumSizefalseMaximumSize uygular.
intMaximumSize700Piksel cinsinden maksimum çıktı boyutu.
boolShowAllLayoutsDgnfalseTüm DGN düzenlerini dahil eder.
boolAutomaticLayoutScalingtrueDüzenleri otomatik ölçeklendir.
floatPdfMargins0.5PDF kenar boşluğu inç cinsinden.
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ılar.
Encoding?SubjectEncodingnullKonu kodlamasını geçersiz kılar.
Encoding?BodyEncodingnullGövde kodlamasını geçersiz kılar.
boolSkipExternalImagesfalseUzaktan 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?TimeZoneOffsetnullTarihler için kullanılan saat dilimini geçersiz kılar.
boolForcePageSizefalseSabit sayfa boyutlarını zorla.

ImageConfig, TiffConfig ve 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.
TiffConfigek özellik yokDPI 200Sadece BaseConfig kullanır; çok sayfalı TIFF'i 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 gerektirir.

TürÖzellikVarsayılanDavranış
intHorizontalResolution100 etkiliAçık yatay DPI; aksi takdirde ImageResolution, sonra 100.
intVerticalResolution100 etkiliAçık dikey DPI; aksi takdirde ImageResolution, sonra 100.
intAnimationFrameDelayMs100Çok çerçeveli animasyon gecikmesi; GIF zamanlaması 10 ms birimlerini kullanır.
ushortLoopCount00 sonsuza kadar döner; pozitif değerler o sayıya ulaştıktan sonra 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ğinde 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ısı 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 ve XpsConfig

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

YapıBiçimlerDefaultRenderEk özellikler/davranış
HtmlConfigHTML, HTMtrueYerel render; metin tabanlı PDF arama yolu için false kullanın.
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.

Aileye göre yapılandırma örnekleri

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
    }
};

Uzantıya göre seçim

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?