Formátové konfigurace

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

Každý dokument se otevírá s implementací BaseConfig. Předávejte ji metodě OpenDocumentAsync nebo nechte katalog formátů vytvořit výchozí. Všechny třídy níže 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í do vnořeného PdfConfig.

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

Pokud není uvedeno jinak, tabulky zobrazují 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""Místní nastavení 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 vyhledávání textu 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 klientu.
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žívaná 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á napříč segmenty řádků pro zlepšení vyhledávání/kopírování.

showHyperlinks v ViewerConfig řídí překrytí na klientu, 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á přesměrování na PDF.
PdfConfigPdfConfignová 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 vykresluje bílé stránky.
boolExportPdfAfalsePoužít archivní PDF/A na cestě PDF.
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.
boolAllowSearchfalsePředává se PdfConfig.AllowSearch.
boolAllowCopyfalsePředává se 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á přesměrování na PDF.
PdfConfigPdfConfignová instanceNastavení pro cestu PDF/vyhledávání.
ExcelPaperSizePaperSizePaperA4Výstupní velikost papíru.
doublePaperMargins0.25Okraje stránky v palcích.
boolPaperLandscapetrueVykreslování listu na šířku.
boolAutoFitContentsfalseAutomaticky přizpůsobit výšky řádků a šířku 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 cestě PDF.
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.
boolAutoTrimWorksheetRenderRangetrueVykreslovat pouze viditelný použitý rozsah, pokud neexistuje explicitní tisková oblast.
boolAutoTrimPreserveExistingPrintAreatrueZachovat tiskové oblasti definované sešitem během automatického ořezu.
string?PrintAreanullExplicitní rozsah, např. "A1:Z100".
boolPrintGridlinesfalseTisknout mřížku listu.
boolPrintHeadingsfalseTisknout záhlaví řádků/sloupců.
List<string>SheetNamesprázdnýOmezit vykreslování na pojmenované listy.
CustomStyleCell?CustomStylesnullVolitelné přepsání formátování data/desetinných čísel/celých čísel.
boolAllowSearchfalsePředává se PdfConfig.AllowSearch.
boolAllowCopyfalsePředává se PdfConfig.AllowCopy.

CustomStyleCell poskytuje CustomStyleDateTime, CustomStyleNumberDecimal a CustomStyleNumberInteger, všechny jsou 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á přesměrování na PDF.
boolFastLoadfalseVyhnout se vykreslení prvního snímku při otevření; použít metadata a vykreslovat na požádání.
PdfConfigPdfConfignová instanceNastavení chování PDF/vyhledávání.
stringFontInfo""Informace o náhradě fontů.
string[]?FontFoldersnullDalší adresáře s fonty.
boolAllowSearchfalsePředává se PdfConfig.AllowSearch.
boolAllowCopyfalsePředává se PdfConfig.AllowCopy.

Na Linuxu a macOS vyžaduje vykreslování prezentací současný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á přesměrování na PDF.
PdfConfigPdfConfignová instanceNastavení cesty PDF.
boolExportPdfAfalseArchivní výstup PDF/A.
boolShowColortrueBarva místo černobílého.
boolWhiteBackgroundtrueBílý místo černého pozadí.
shortLineWidth25Šířka čáry CAD.
boolShowLayoutsfalseVykreslovat záložky rozvržení.
boolShowModeltrueVykreslovat modelový prostor.
boolCheck3DSolidtrueZpracovávat 3D tělesa.
boolExportAllLayoutsfalseExportovat všechna rozvržení, přepisuje 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á přesměrování na PDF.
PdfConfigPdfConfignová 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 poslední 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 zahrnuje 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á neomezeno; 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ícestrá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 effectiveExplicitní horizontální DPI; jinak ImageResolution, pak 100.
intVerticalResolution100 effectiveExplicitní vertikální DPI; jinak ImageResolution, pak 100.
intAnimationFrameDelayMs100Zpoždění snímku animace s více snímky; časování GIF používá jednotky 10 ms.
ushortLoopCount00 smyčka 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, pokud 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.
PdfConfigPdfConfignová instanceNastavení cesty PDF.
boolExportPdfAtrueArchivní výstup PDF/A.
MppPaperSizePaperSizeLedgerVelikost papíru výstupu 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á přesměrování na PDF.
PdfConfigPdfConfignová instanceNastavení cesty PDF.
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 on the class; false in the automatic catalogtrue na třídě; false v automatickém katalogu
XpsConfigXPSfalsePoužívá výchozí PDF cestu; nastavte true pro 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 = 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
    }
};

Výběr podle přípony

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á?