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 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, metin‑koordinat araması için sıkça 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 bilerek 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 işlenmiş 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 kaplamaları için bağlantı dikdörtgenlerini çıkar.
intHyperlinksPageCount0Bağlantılar için taranan maksimum sayfa; 0 tüm sayfalar anlamına gelir.
boolCompressImagesfalseİşleme öncesi gömülü görüntüleri sıkıştır.
intCompressQuality100Sıkıştırma etkin olduğunda kullanılan JPEG kalitesi.
boolResizeImagesfalseİşleme ö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 kaplamasını 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 işleme; false PDF yönlendirmesini kullanır.
PdfConfigPdfConfigyeni örnekPDF/arama yolu tarafından kullanılan ayarlar.
DocPaperSizePaperSizeA4Çıktı kağıt boyutu. Custom ile genişlik/yükseklik 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 korur; false beyaz sayfalar render eder.
boolExportPdfAfalsePDF yolunda arşiv PDF/A kullan.
Encoding?FileEncodingnullKaynak kodlamasını geçersiz kılar.
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 işleme; false PDF yönlendirmesini kullanır.
PdfConfigPdfConfigyeni örnekPDF/arama yolu için ayarlar.
ExcelPaperSizePaperSizePaperA4Çıktı kağıt boyutu.
doublePaperMargins0.25İnç cinsinden sayfa kenar boşlukları.
boolPaperLandscapetrueYatay sayfa işleme.
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.
boolCalculateFormulatrueİşleme ö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 bir çıktı sayfasına sığdır.
boolMemoryOptimizationPreferencetrueAzami belleği 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'ı 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 yönlendirir.
boolAllowCopyfalsePdfConfig.AllowCopy'e yönlendirir.

CustomStyleCell, CustomStyleDateTime, CustomStyleNumberDecimal ve CustomStyleNumberInteger adlı nullable (null olabilir) string'leri ortaya çıkarır.

new ExcelConfig() SplitWorksheets özelliğini 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 işleme; false PDF yönlendirmesini kullanır.
boolFastLoadfalseAçılışta ilk slaytı işlemekten kaçın; meta verileri kullan ve talep üzerine render et.
PdfConfigPdfConfigyeni örnekPDF/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 işleme 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 işleme; 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 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çekle.
floatPdfMargins0.5İnç cinsinden PDF kenarı.
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 işleme; false PDF yönlendirmesini kullanır.
PdfConfigPdfConfigyeni örnekPDF 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.
boolSkipExternalImagesfalseUzakta referans verilen görüntüleri yükleme. Güvenilmeyen e-postalar için önerilir.
boolRemoveLastWhitePagefalseSonundaki boş sayfayı kaldır.
boolUseAntiAliasingfalseAnti-aliasing'i etkinleştir.
boolUseHighQualityRenderingfalseDaha temiz, daha yavaş renderlemeyi tercih et.
TimeSpan?TimeZoneOffsetnullTarih 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'dür.

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 yoksayılır.
ImageConfigTransparentPngtruePNG şeffaflığını korur; false beyaz arka plan kullanır.
TiffConfigno additional propertiesDPI 200Sadece BaseConfig kullanır; çok sayfalı TIFF'yi destekler.
PsdConfigMaxImagePixelSize3000ImageConfig ile aynı 0/minimum‑50 doğrulaması; varsayılan DPI 100'dür.

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 birimlerini kullanır.
ushortLoopCount00 sonsuza kadar döngü; pozitif değerler belirtilen sayıda döngü sonlandırır.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly, FramesOnly veya birleştirilmiş genel bakış ve 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 renderi 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.
PdfConfigPdfConfigyeni örnekPDF 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 işleme; false PDF yönlendirmesini kullanır.
PdfConfigPdfConfigyeni örnekPDF yolu ayarları.
boolExportPdfAtrueArşiv PDF/A çıktısı.

HtmlConfig, EpubConfig, MhtConfig ve 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.
MhtConfigMHT, MHTMLtrue (sınıfta) ; false (otomatik katalogda)Normal 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ü işleme 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 = ["/usr/share/fonts/truetype"],
        AllowSearch = true
    },
    new ExcelConfig
    {
        PaperLandscape = true,
        AutoFitContents = true,
        CalculateFormula = true,
        SplitWorksheets = false,
        PrintGridlines = false
    },
    new PptConfig
    {
        FastLoad = true,
        FontFolders = ["/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 yönlendirmesi → piksel‑tam yerel metin araması
    ".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
    ".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
    _ => null // formatın varsayılan yapılandırmasına geri dön
};

Bu sayfa yardımcı oldu mu?