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 do OpenDocumentAsync (nebo OpenDocument) nebo nechte katalog formátů vytvořit výchozí. Všechny níže uvedené třídy se nacházejí v jmenném prostoru 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řevádí do PDF v paměti a pak používá PDF prohlížeč. Tato cesta je často užitečná pro vyhledávání podle textových souřadnic, ale vyžaduje další konverzi.

Pokud není uvedeno jinak, tabulky zobrazují výchozí hodnoty konstruktorů/vlastností. 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 zde automaticky zkopírováno.
boolShowUItrueVlastnost kompatibility; aktuální vykreslovač ji nepoužívá k řízení panelu nástrojů prohlížeče.
boolCachePagestrueUkládat do mezipaměti vykreslené obrázky stránek pro relaci dokumentu.

PdfConfig

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

TypVlastnostVýchozíChování
boolDefaultRendertruePřepínač kompatibility. 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/kopírování textu.
boolExtractHyperlinksfalseExtrahovat obdélníky odkazů pro překrytí na klientovi.
intHyperlinksPageCount0Maximální počet stránek skenovaných pro odkazy; 0 znamená každou stránku.
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.
boolCompressFastfalsePreferovat rychlejší, méně kvalitní cestu komprese.
boolFixInvalidImagesfalsePokusit se opravit neplatné vložené obrázky.
boolSplitSegmentsfalseZnovu spojit slova rozdělená napříč úseky řá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 oba.

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.
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 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 — užitečné na serveru, který postrádá fonty používané v dokumentech.
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í.
PdfConfigPdfConfignová instanceNastavení pro PDF/cestu vyhledávání.
ExcelPaperSizePaperSizePaperA4Velikost výstupního papíru.
doublePaperMargins0.25Okraje stránky v palcích.
boolPaperLandscapetrueVykreslování listu na šířku.
boolAutoFitContentsfalseAutomatické přizpůsobení výšek řádků a šířek sloupců.
boolRemoveEmptyContenttrueZúžení výstupu 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í oblast tisku.
boolAutoTrimPreserveExistingPrintAreatrueZachovat v sešitu definované tiskové oblasti 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/čí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ý jej 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í.
PdfConfigPdfConfignová instanceNastavení pro chování PDF/vyhledávání.
stringFontInfo""Informace o substituci fontů.
string[]?FontFoldersnullDalší adresáře fontů.
boolAllowSearchfalseDeleguje na PdfConfig.AllowSearch.
boolAllowCopyfalseDeleguje na PdfConfig.AllowCopy.

Nainstalujte fonty, které prezentace používají, na server, nebo nasměrujte FontFolders na složku, která je obsahuje. Windows Server bez Office má mnohem méně fontů než vývojový počítač a chybějící fonty jsou nahrazeny bez jakékoli chyby.

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í.
PdfConfigPdfConfignová instanceNastavení PDF cesty.
boolExportPdfAfalseArchivní výstup PDF/A.
boolShowColortrueBarva místo černobílého.
boolWhiteBackgroundtrueBílý místo černého pozadí.
shortLineWidth25Šířka tahů CAD.
boolShowLayoutsfalseVykreslit záložky rozvržení.
boolShowModeltrueVykreslit modelový prostor.
boolCheck3DSolidtrueZpracovat 3D tělesa.
boolExportAllLayoutsfalseExportovat všechny 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.5PDF okraj 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í vykreslování e‑mailu; false používá PDF přesměrování.
PdfConfigPdfConfignová instancenastavení PDF cesty.
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‑mailové zprávy.
boolRemoveLastWhitePagefalseOdstranit koncovou prázdnou stránku.
boolUseAntiAliasingfalsePovolit anti‑aliasing.
boolUseHighQualityRenderingfalsePreferovat čistší, pomalejší vykreslování.
TimeSpan?TimeZoneOffsetnullPřepsat časové pásmo používané pro data.
boolForcePageSizefalseVynutit pevné rozměry stránky.

ImageConfig, TiffConfig, and PsdConfig

ImageConfig podporuje 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ý podklad.
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. V tomto balíčku se soubory DICOM vykreslují plně, ale technická metadata nejsou k dispozici — viz DICOM Plugin.

TypVlastnostVýchozíChování
intHorizontalResolution100 efektivníExplicitní horizontální DPI; jinak ImageResolution, pak 100.
intVerticalResolution100 efektivníExplicitní vertikální DPI; jinak ImageResolution, pak 100.
intAnimationFrameDelayMs100Zpoždění animace více snímků; časování GIF používá jednotky 10 ms.
ushortLoopCount00 smyčky 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.
PdfConfigPdfConfignová instancenastavení PDF cesty.
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í vykreslování diagramu; false používá PDF přesměrování.
PdfConfigPdfConfignová instancenastavení PDF cesty.
boolExportPdfAtrueArchivní výstup PDF/A.

HtmlConfig, EpubConfig, MhtConfig, and 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 vyhledávací cestu.
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ě.
XpsConfigXPSfalsePoužívá PDF cestu ve výchozím nastavení; nastavte true pro nativní vykreslování obrázku.

Příklady konfigurace podle rodiny

csharp
BaseConfig[] configs =
{
    new PdfConfig
    {
        AllowSearch = true,
        ExtractHyperlinks = true,
        HyperlinksPageCount = 0
    },
    new WordConfig
    {
        PaperSize = DocPaperSize.A4,
        RemovePaperMargin = false,
        FontFolders = new[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
        AllowSearch = true
    },
    new ExcelConfig
    {
        PaperLandscape = true,
        AutoFitContents = true,
        CalculateFormula = true,
        SplitWorksheets = false,
        PrintGridlines = false
    },
    new PptConfig
    {
        FastLoad = true,
        FontFolders = new[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
        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 rozšíření

csharp
static BaseConfig ConfigForExtension(string extUpper)
{
    switch (extUpper)
    {
        case ".DOC": case ".DOCX": case ".DOT": case ".DOTX": case ".ODT":
            return new WordConfig
            {
                AutoFitAllTables = WordConfig.TableAutoFitBehavior.AutoFitToWindow,
                PaperSize = DocPaperSize.Tabloid,
                PdfConfig = new PdfConfig { ExtractHyperlinks = true, HyperlinksPageCount = 5, AllowCopy = true }
            };
        case ".PDF":
            return new PdfConfig { AllowSearch = true, AllowCopy = true };
        case ".XLS": case ".XLSX": case ".ODS": case ".CSV":
            return new ExcelConfig { AllowSearch = true, AllowCopy = true };
        case ".DCM": case ".IMA":
            return new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames };
        // DefaultRender = false → PDF redirect → pixelově přesné nativní vyhledávání textu
        case ".HTML": case ".HTM":
            return new HtmlConfig { DefaultRender = false };
        case ".EML": case ".EMLX": case ".MSG":
            return new EmailConfig { DefaultRender = false };
        default:
            return null; // vrátit se k výchozí konfiguraci formátu
    }
}

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