Formátové konfigurace

Kompletní možnosti vykreslování pro každý formát

Každý dokument se otevírá s implementací BaseConfig. Předáte ji metodě OpenDocumentAsync nebo necháte katalog formátů vytvořit výchozí. Všechny níže uvedené třídy se nacházejí v namespace Doconut.

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

Dědičnost a vnořené nastavení PDF

Každý formát dědí pět vlastností BaseConfig. Formáty, které mohou přesměrovat přes PDF, vystavují vnořený PdfConfig. V WordConfig, ExcelConfig a PptConfig jsou AllowSearch a AllowCopy pohodlné vlastnosti, které čtou a zapisují vnořený PdfConfig.

DefaultRender = true vybírá nativní vykreslovač formátu. U formátů s PDF přesměrováním false nejprve převede do paměťového PDF a pak použije PDF prohlížeč. Tato cesta je často užitečná pro vyhledávání podle textových souřadnic, ale stojí za to další konverzi.

Pokud není uvedeno jinak, tabulky ukazují výchozí hodnoty konstruktoru/vlastnosti. Automatický katalog formátů úmyslně přepisuje dvě z nich: vytváří ExcelConfig s SplitWorksheets = true a MhtConfig s DefaultRender = false.

BaseConfig

TypVlastnostVýchozíChování
intImageResolution00 používá výchozí hodnotu formátu. Platný explicitní rozsah je 25‑300 DPI; neplatná přiřazení jsou ignorována.
stringDocumentCulture""Národní prostředí pro data a čísla. Neprázdné hodnoty jsou oříznuty; prázdná přiřazení jsou ignorována.
stringPassword""Heslo chráněného dokumentu. DocOptions.Password je sem automaticky zkopírováno.
boolShowUItrueKompatibilní vlastnost; aktuální vykreslovač ji nepoužívá k řízení panelu nástrojů prohlížeče.
boolCachePagestrueUkládat do mezipaměti vykreslené obrázky stránek během relace dokumentu.

PdfConfig

Formáty: PDF. Výchozí DPI: 200.

TypVlastnostVýchozíChování
boolDefaultRendertrueKompatibilní přepínač. Aktuální továrna používá nativní PDF prohlížeč.
boolAllowSearchfalseVytvořit/použít index pro fulltextové vyhledávání v PDF. Vyžaduje licenci Search pro požadavky.
boolAllowCopyfalsePovolit operace výběru a kopírování textu.
boolExtractHyperlinksfalseExtrahovat obdélníky odkazů pro překrytí na klientovi.
intHyperlinksPageCount0Maximální počet stránek prohledávaných kvůli odkazům; 0 znamená všechny stránky.
boolCompressImagesfalseKomprimovat vložené obrázky před vykreslením.
intCompressQuality100Kvalita JPEG použité při povolené kompresi.
boolResizeImagesfalseZměnit velikost vložených obrázků před vykreslením.
intResizeResolution300Cílové DPI pro změněné obrázky.
boolCompressFastfalseUpřednostnit rychlejší, méně kvalitní cestu komprese.
boolFixInvalidImagesfalsePokusit se opravit neplatné vložené obrázky.
boolSplitSegmentsfalseZnovu spojit slova rozdělená přes segmenty řádků pro zlepšení vyhledávání/kopírování.

showHyperlinks v ViewerConfig řídí překrytí na klientovi, zatímco ExtractHyperlinks řídí extrakci na serveru. Povolit obojí.

WordConfig

Formáty: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. Výchozí DPI: 200.

TypVlastnostVýchozíChování
boolDefaultRendertrueNativní vykreslení Word; false používá PDF přesměrování.
PdfConfigPdfConfignew instanceNastavení používaná cestou PDF/vyhledávání.
DocPaperSizePaperSizeA4Výstupní velikost papíru. Použijte Custom s šířkou/výškou.
intPaperWidth595Vlastní šířka v bodech.
intPaperHeight841Vlastní výška v bodech.
boolRemovePaperMarginfalseOdstranit okraje stránky dokumentu.
boolRenderPageColortrueZachovat nastavenou barvu stránky ve Wordu; false vykreslí bílé stránky.
boolExportPdfAfalsePoužít archivní PDF/A na PDF cestě.
Encoding?FileEncodingnullPřepsat kódování zdroje.
stringFontInfo""Informace o náhradě fontů.
string[]?FontFoldersnullDalší adresáře s fonty, zvláště užitečné v Linuxu/kontejnerech.
boolAllowSearchfalseDeleguje na PdfConfig.AllowSearch.
boolAllowCopyfalseDeleguje na PdfConfig.AllowCopy.
TableAutoFitBehaviorAutoFitAllTablesNoneNone, AutoFitToContents nebo AutoFitToWindow.

ExcelConfig

Formáty: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. Výchozí DPI: 200.

TypVlastnostVýchozíChování
boolDefaultRendertrueNativní vykreslení listu; false používá PDF přesměrování.
PdfConfigPdfConfignew instanceNastavení pro PDF/cestu vyhledávání.
ExcelPaperSizePaperSizePaperA4Výstupní velikost papíru.
doublePaperMargins0.25Okraje stránky v palcích.
boolPaperLandscapetrueVykreslení listu na šířku.
boolAutoFitContentsfalseAutomatické přizpůsobení výšek řádků a šířek sloupců.
boolRemoveEmptyContenttrueZúžit výstup vyloučením prázdného obsahu.
boolCalculateFormulatruePřepočítat vzorce před vykreslením.
boolShowRowColumnHeaderstrueZahrnout záhlaví tabulky.
boolExportPdfAfalsePoužít PDF/A na PDF cestě.
boolSplitWorksheetsfalseUchovat listy jako samostatné skupiny stránek.
boolShowEmptyWorkSheetsfalseZahrnout prázdné listy.
boolExportLandscapefalseVynutit export na šířku.
boolExportOnePagePerSheetfalsePřizpůsobit každý list jedné výstupní stránce.
boolMemoryOptimizationPreferencetrueSnížit špičkovou paměť, případně na úkor rychlosti.
boolAutoTrimWorksheetRenderRangetrueVykreslit pouze viditelný použitý rozsah, pokud neexistuje explicitní tisková oblast.
boolAutoTrimPreserveExistingPrintAreatrueZachovat definované tiskové oblasti sešitu během automatického ořezu.
string?PrintAreanullExplicitní rozsah, např. "A1:Z100".
boolPrintGridlinesfalseTisknout mřížku listu.
boolPrintHeadingsfalseTisknout záhlaví řádků/sloupců.
List<string>SheetNamesemptyOmezit vykreslování na pojmenované listy.
CustomStyleCell?CustomStylesnullVolitelné přepsání formátování data/desetinných/číslic.
boolAllowSearchfalseDeleguje na PdfConfig.AllowSearch.
boolAllowCopyfalseDeleguje na PdfConfig.AllowCopy.

CustomStyleCell vystavuje CustomStyleDateTime, CustomStyleNumberDecimal a CustomStyleNumberInteger, všechny nullable řetězce.

new ExcelConfig() nastaví SplitWorksheets na false; otevření Excel souboru bez explicitní konfigurace použije katalog formátů, který ji nastaví na true.

PptConfig

Formáty: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. Výchozí DPI: 200.

TypVlastnostVýchozíChování
boolDefaultRendertrueNativní vykreslení snímku; false používá PDF přesměrování.
boolFastLoadfalseVyhnout se vykreslení prvního snímku při otevření; použít metadata a vykreslovat na požádání.
PdfConfigPdfConfignew instanceNastavení pro PDF/cestu vyhledávání.
stringFontInfo""Informace o náhradě fontů.
string[]?FontFoldersnullDalší adresáře s fonty.
boolAllowSearchfalseDeleguje na PdfConfig.AllowSearch.
boolAllowCopyfalseDeleguje na PdfConfig.AllowCopy.

Na Linuxu a macOS vyžaduje vykreslování prezentací aktuálním enginem libgdiplus a System.Drawing.EnableUnixSupport=true. Nainstalujte fonty použité v prezentaci nebo poskytněte FontFolders.

CadConfig

Formáty: DWG, DXF, DGN. Výchozí DPI: 200.

TypVlastnostVýchozíChování
boolDefaultRendertrueNativní vykreslení CAD; false používá PDF přesměrování.
PdfConfigPdfConfignew instanceNastavení cesty PDF.
boolExportPdfAfalseArchivní výstup PDF/A.
boolShowColortrueBarva místo černobílé.
boolWhiteBackgroundtrueBílé místo černého pozadí.
shortLineWidth25Šířka tahu CAD.
boolShowLayoutsfalseVykreslit záložky rozvržení.
boolShowModeltrueVykreslit modelový prostor.
boolCheck3DSolidtrueZpracovat 3D tělesa.
boolExportAllLayoutsfalseExportovat všechna rozvržení, přepsat výběr modelu/rozvržení.
boolLimitMinimumSizefalsePoužít MinimumSize.
intMinimumSize700Minimální velikost výstupu v pixelech.
boolLimitMaximumSizefalsePoužít MaximumSize.
intMaximumSize700Maximální velikost výstupu v pixelech.
boolShowAllLayoutsDgnfalseZahrnout všechna DGN rozvržení.
boolAutomaticLayoutScalingtrueAutomaticky škálovat rozvržení.
floatPdfMargins0.5Okraj PDF v palcích.
RenderQualityQualityImageLowKvalita rastru: Low, Medium nebo High.
RenderQualityQualityTextMediumKvalita textu: Low, Medium nebo High.

EmailConfig

Formáty: EML, EMLX, MSG. Výchozí DPI: 200.

TypVlastnostVýchozíChování
boolDefaultRendertrueNativní vykreslení e‑mailu; false používá PDF přesměrování.
PdfConfigPdfConfignew instanceNastavení cesty PDF.
Encoding?EmailEncodingnullPřepsat kódování zprávy.
Encoding?SubjectEncodingnullPřepsat kódování předmětu.
Encoding?BodyEncodingnullPřepsat kódování těla.
boolSkipExternalImagesfalseNenačítat vzdáleně odkazované obrázky. Doporučeno pro nedůvěryhodné e‑maily.
boolRemoveLastWhitePagefalseOdstranit koncovou prázdnou stránku.
boolUseAntiAliasingfalsePovolit anti‑aliasing.
boolUseHighQualityRenderingfalseUpřednostnit čistší, pomalejší vykreslování.
TimeSpan?TimeZoneOffsetnullPřepsat časové pásmo používané pro data.
boolForcePageSizefalseVynutit pevné rozměry stránky.

ImageConfig, TiffConfig a PsdConfig

ImageConfig pokrývá JPG, JPEG, JPE, PNG, BMP, GIF, ICO, EPS, TGA, WEBP, CDR, CMX, DNG, EMF, WMF, AVIF a SVG. Jeho výchozí DPI je 100.

KonfiguraceVlastnostVýchozíChování
ImageConfigMaxImagePixelSize3000Maximální šířka/výška. 0 znamená neomezené; nenulové hodnoty pod 50 jsou ignorovány.
ImageConfigTransparentPngtrueZachovat průhlednost PNG; false používá bílé pozadí.
TiffConfigžádné další vlastnostiDPI 200Používá pouze BaseConfig; podporuje více-stránkové TIFF.
PsdConfigMaxImagePixelSize3000Stejná validace 0/minimum‑50 jako u ImageConfig; výchozí DPI je 100.

DicomConfig

Formáty: DCM, IMA. Výchozí efektivní DPI: 100. Vyžaduje plugin DICOM.

TypVlastnostVýchozíChování
intHorizontalResolution100 efektivníExplicitní horizontální DPI; jinak ImageResolution, poté 100.
intVerticalResolution100 efektivníExplicitní vertikální DPI; jinak ImageResolution, poté 100.
intAnimationFrameDelayMs100Zpoždění animace s více snímky; časování GIF používá jednotky 10 ms.
ushortLoopCount00 smyčkuje navždy; kladné hodnoty zastaví po daném počtu.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly, FramesOnly nebo kombinovaný přehled plus statické snímky.

TxtConfig

Formát: TXT. Výchozí DPI: 200.

TypVlastnostVýchozíChování
DocPaperSizePaperSizeA4Výstupní velikost papíru.
Encoding?FileEncodingnullnull používá UTF-8.
stringFontInformation""Informace o fontu pro vykreslování textu.

Použijte WordConfig, když prostý text potřebuje bohatší chování rozvržení stránky.

ProjectConfig

Formáty: MPP, MPPX, MPX. Výchozí DPI: 200.

TypVlastnostVýchozíChování
boolDefaultRendertrueNativní Gantt obrázek; false používá textovou PDF cestu.
PdfConfigPdfConfignew instancePDF‑cesta nastavení.
boolExportPdfAtrueArchivní výstup PDF/A.
MppPaperSizePaperSizeLedgerVýstupní velikost papíru projektu.
MppTimeScaleTimeScaleMonthsDays nebo Months.
MppFormatPresentationFormatGanttChartGanttChart, TaskUsage, ResourceUsage, ResourceSheet nebo TaskSheet.

Pro přesné vyhledávání podle textových souřadnic použijte DefaultRender = false.

VisioConfig

Formáty: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. Výchozí DPI: 200.

TypVlastnostVýchozíChování
boolDefaultRendertrueNativní vykreslení diagramu; false používá PDF přesměrování.
PdfConfigPdfConfignew instancePDF‑cesta nastavení.
boolExportPdfAtrueArchivní výstup PDF/A.

HtmlConfig, EpubConfig, MhtConfig a XpsConfig

Všechny čtyři mají výchozí 200 DPI a vystavují vnořený PdfConfig.

KonfiguraceFormátyDefaultRenderDalší vlastnosti/chování
HtmlConfigHTML, HTMtrueNativní vykreslení; použijte false pro textovou PDF cestu vyhledávání.
EpubConfigEPUBtrueNativní vykreslení; false používá PDF.
MhtConfigMHT, MHTMLtrue na třídě; false v automatickém kataloguNormální otevření bez konfigurace používá vyhledávatelný PDF přesměrování. Explicitně vytvořená výchozí instance vykresluje nativně.
XpsConfigXPSfalseVe výchozím stavu používá PDF cestu; nastavením na true získáte nativní vykreslení obrázku.

Příklady konfigurací podle rodiny

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

Výběr podle přípony souboru

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

Byla tato stránka užitečná?