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.
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
| Typ | Vlastnost | Výchozí | Chování |
|---|---|---|---|
int | ImageResolution | 0 | 0 používá výchozí hodnotu formátu. Platný explicitní rozsah je 25‑300 DPI; neplatná přiřazení jsou ignorována. |
string | DocumentCulture | "" | Národní prostředí pro data a čísla. Neprázdné hodnoty jsou oříznuty; prázdná přiřazení jsou ignorována. |
string | Password | "" | Heslo chráněného dokumentu. DocOptions.Password je sem automaticky zkopírováno. |
bool | ShowUI | true | Kompatibilní vlastnost; aktuální vykreslovač ji nepoužívá k řízení panelu nástrojů prohlížeče. |
bool | CachePages | true | Ukládat do mezipaměti vykreslené obrázky stránek během relace dokumentu. |
PdfConfig
Formáty: PDF. Výchozí DPI: 200.
| Typ | Vlastnost | Výchozí | Chování |
|---|---|---|---|
bool | DefaultRender | true | Kompatibilní přepínač. Aktuální továrna používá nativní PDF prohlížeč. |
bool | AllowSearch | false | Vytvořit/použít index pro fulltextové vyhledávání v PDF. Vyžaduje licenci Search pro požadavky. |
bool | AllowCopy | false | Povolit operace výběru a kopírování textu. |
bool | ExtractHyperlinks | false | Extrahovat obdélníky odkazů pro překrytí na klientovi. |
int | HyperlinksPageCount | 0 | Maximální počet stránek prohledávaných kvůli odkazům; 0 znamená všechny stránky. |
bool | CompressImages | false | Komprimovat vložené obrázky před vykreslením. |
int | CompressQuality | 100 | Kvalita JPEG použité při povolené kompresi. |
bool | ResizeImages | false | Změnit velikost vložených obrázků před vykreslením. |
int | ResizeResolution | 300 | Cílové DPI pro změněné obrázky. |
bool | CompressFast | false | Upřednostnit rychlejší, méně kvalitní cestu komprese. |
bool | FixInvalidImages | false | Pokusit se opravit neplatné vložené obrázky. |
bool | SplitSegments | false | Znovu 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.
| Typ | Vlastnost | Výchozí | Chování |
|---|---|---|---|
bool | DefaultRender | true | Nativní vykreslení Word; false používá PDF přesměrování. |
PdfConfig | PdfConfig | new instance | Nastavení používaná cestou PDF/vyhledávání. |
DocPaperSize | PaperSize | A4 | Výstupní velikost papíru. Použijte Custom s šířkou/výškou. |
int | PaperWidth | 595 | Vlastní šířka v bodech. |
int | PaperHeight | 841 | Vlastní výška v bodech. |
bool | RemovePaperMargin | false | Odstranit okraje stránky dokumentu. |
bool | RenderPageColor | true | Zachovat nastavenou barvu stránky ve Wordu; false vykreslí bílé stránky. |
bool | ExportPdfA | false | Použít archivní PDF/A na PDF cestě. |
Encoding? | FileEncoding | null | Přepsat kódování zdroje. |
string | FontInfo | "" | Informace o náhradě fontů. |
string[]? | FontFolders | null | Další adresáře s fonty, zvláště užitečné v Linuxu/kontejnerech. |
bool | AllowSearch | false | Deleguje na PdfConfig.AllowSearch. |
bool | AllowCopy | false | Deleguje na PdfConfig.AllowCopy. |
TableAutoFitBehavior | AutoFitAllTables | None | None, AutoFitToContents nebo AutoFitToWindow. |
ExcelConfig
Formáty: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. Výchozí DPI: 200.
| Typ | Vlastnost | Výchozí | Chování |
|---|---|---|---|
bool | DefaultRender | true | Nativní vykreslení listu; false používá PDF přesměrování. |
PdfConfig | PdfConfig | new instance | Nastavení pro PDF/cestu vyhledávání. |
ExcelPaperSize | PaperSize | PaperA4 | Výstupní velikost papíru. |
double | PaperMargins | 0.25 | Okraje stránky v palcích. |
bool | PaperLandscape | true | Vykreslení listu na šířku. |
bool | AutoFitContents | false | Automatické přizpůsobení výšek řádků a šířek sloupců. |
bool | RemoveEmptyContent | true | Zúžit výstup vyloučením prázdného obsahu. |
bool | CalculateFormula | true | Přepočítat vzorce před vykreslením. |
bool | ShowRowColumnHeaders | true | Zahrnout záhlaví tabulky. |
bool | ExportPdfA | false | Použít PDF/A na PDF cestě. |
bool | SplitWorksheets | false | Uchovat listy jako samostatné skupiny stránek. |
bool | ShowEmptyWorkSheets | false | Zahrnout prázdné listy. |
bool | ExportLandscape | false | Vynutit export na šířku. |
bool | ExportOnePagePerSheet | false | Přizpůsobit každý list jedné výstupní stránce. |
bool | MemoryOptimizationPreference | true | Snížit špičkovou paměť, případně na úkor rychlosti. |
bool | AutoTrimWorksheetRenderRange | true | Vykreslit pouze viditelný použitý rozsah, pokud neexistuje explicitní tisková oblast. |
bool | AutoTrimPreserveExistingPrintArea | true | Zachovat definované tiskové oblasti sešitu během automatického ořezu. |
string? | PrintArea | null | Explicitní rozsah, např. "A1:Z100". |
bool | PrintGridlines | false | Tisknout mřížku listu. |
bool | PrintHeadings | false | Tisknout záhlaví řádků/sloupců. |
List<string> | SheetNames | empty | Omezit vykreslování na pojmenované listy. |
CustomStyleCell? | CustomStyles | null | Volitelné přepsání formátování data/desetinných/číslic. |
bool | AllowSearch | false | Deleguje na PdfConfig.AllowSearch. |
bool | AllowCopy | false | Deleguje 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.
| Typ | Vlastnost | Výchozí | Chování |
|---|---|---|---|
bool | DefaultRender | true | Nativní vykreslení snímku; false používá PDF přesměrování. |
bool | FastLoad | false | Vyhnout se vykreslení prvního snímku při otevření; použít metadata a vykreslovat na požádání. |
PdfConfig | PdfConfig | new instance | Nastavení pro PDF/cestu vyhledávání. |
string | FontInfo | "" | Informace o náhradě fontů. |
string[]? | FontFolders | null | Další adresáře s fonty. |
bool | AllowSearch | false | Deleguje na PdfConfig.AllowSearch. |
bool | AllowCopy | false | Deleguje 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.
| Typ | Vlastnost | Výchozí | Chování |
|---|---|---|---|
bool | DefaultRender | true | Nativní vykreslení CAD; false používá PDF přesměrování. |
PdfConfig | PdfConfig | new instance | Nastavení cesty PDF. |
bool | ExportPdfA | false | Archivní výstup PDF/A. |
bool | ShowColor | true | Barva místo černobílé. |
bool | WhiteBackground | true | Bílé místo černého pozadí. |
short | LineWidth | 25 | Šířka tahu CAD. |
bool | ShowLayouts | false | Vykreslit záložky rozvržení. |
bool | ShowModel | true | Vykreslit modelový prostor. |
bool | Check3DSolid | true | Zpracovat 3D tělesa. |
bool | ExportAllLayouts | false | Exportovat všechna rozvržení, přepsat výběr modelu/rozvržení. |
bool | LimitMinimumSize | false | Použít MinimumSize. |
int | MinimumSize | 700 | Minimální velikost výstupu v pixelech. |
bool | LimitMaximumSize | false | Použít MaximumSize. |
int | MaximumSize | 700 | Maximální velikost výstupu v pixelech. |
bool | ShowAllLayoutsDgn | false | Zahrnout všechna DGN rozvržení. |
bool | AutomaticLayoutScaling | true | Automaticky škálovat rozvržení. |
float | PdfMargins | 0.5 | Okraj PDF v palcích. |
RenderQuality | QualityImage | Low | Kvalita rastru: Low, Medium nebo High. |
RenderQuality | QualityText | Medium | Kvalita textu: Low, Medium nebo High. |
EmailConfig
Formáty: EML, EMLX, MSG. Výchozí DPI: 200.
| Typ | Vlastnost | Výchozí | Chování |
|---|---|---|---|
bool | DefaultRender | true | Nativní vykreslení e‑mailu; false používá PDF přesměrování. |
PdfConfig | PdfConfig | new instance | Nastavení cesty PDF. |
Encoding? | EmailEncoding | null | Přepsat kódování zprávy. |
Encoding? | SubjectEncoding | null | Přepsat kódování předmětu. |
Encoding? | BodyEncoding | null | Přepsat kódování těla. |
bool | SkipExternalImages | false | Nenačítat vzdáleně odkazované obrázky. Doporučeno pro nedůvěryhodné e‑maily. |
bool | RemoveLastWhitePage | false | Odstranit koncovou prázdnou stránku. |
bool | UseAntiAliasing | false | Povolit anti‑aliasing. |
bool | UseHighQualityRendering | false | Upřednostnit čistší, pomalejší vykreslování. |
TimeSpan? | TimeZoneOffset | null | Přepsat časové pásmo používané pro data. |
bool | ForcePageSize | false | Vynutit 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.
| Konfigurace | Vlastnost | Výchozí | Chování |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | Maximální šířka/výška. 0 znamená neomezené; nenulové hodnoty pod 50 jsou ignorovány. |
ImageConfig | TransparentPng | true | Zachovat průhlednost PNG; false používá bílé pozadí. |
TiffConfig | žádné další vlastnosti | DPI 200 | Používá pouze BaseConfig; podporuje více-stránkové TIFF. |
PsdConfig | MaxImagePixelSize | 3000 | Stejná 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.
| Typ | Vlastnost | Výchozí | Chování |
|---|---|---|---|
int | HorizontalResolution | 100 efektivní | Explicitní horizontální DPI; jinak ImageResolution, poté 100. |
int | VerticalResolution | 100 efektivní | Explicitní vertikální DPI; jinak ImageResolution, poté 100. |
int | AnimationFrameDelayMs | 100 | Zpoždění animace s více snímky; časování GIF používá jednotky 10 ms. |
ushort | LoopCount | 0 | 0 smyčkuje navždy; kladné hodnoty zastaví po daném počtu. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly, FramesOnly nebo kombinovaný přehled plus statické snímky. |
TxtConfig
Formát: TXT. Výchozí DPI: 200.
| Typ | Vlastnost | Výchozí | Chování |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | Výstupní velikost papíru. |
Encoding? | FileEncoding | null | null používá UTF-8. |
string | FontInformation | "" | 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.
| Typ | Vlastnost | Výchozí | Chování |
|---|---|---|---|
bool | DefaultRender | true | Nativní Gantt obrázek; false používá textovou PDF cestu. |
PdfConfig | PdfConfig | new instance | PDF‑cesta nastavení. |
bool | ExportPdfA | true | Archivní výstup PDF/A. |
MppPaperSize | PaperSize | Ledger | Výstupní velikost papíru projektu. |
MppTimeScale | TimeScale | Months | Days nebo Months. |
MppFormat | PresentationFormat | GanttChart | GanttChart, 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.
| Typ | Vlastnost | Výchozí | Chování |
|---|---|---|---|
bool | DefaultRender | true | Nativní vykreslení diagramu; false používá PDF přesměrování. |
PdfConfig | PdfConfig | new instance | PDF‑cesta nastavení. |
bool | ExportPdfA | true | Archivní výstup PDF/A. |
HtmlConfig, EpubConfig, MhtConfig a XpsConfig
Všechny čtyři mají výchozí 200 DPI a vystavují vnořený PdfConfig.
| Konfigurace | Formáty | DefaultRender | Další vlastnosti/chování |
|---|---|---|---|
HtmlConfig | HTML, HTM | true | Nativní vykreslení; použijte false pro textovou PDF cestu vyhledávání. |
EpubConfig | EPUB | true | Nativní vykreslení; false používá PDF. |
MhtConfig | MHT, MHTML | true na třídě; false v automatickém katalogu | Normální otevření bez konfigurace používá vyhledávatelný PDF přesměrování. Explicitně vytvořená výchozí instance vykresluje nativně. |
XpsConfig | XPS | false | Ve výchozím stavu používá PDF cestu; nastavením na true získáte nativní vykreslení obrázku. |
Příklady konfigurací podle rodiny
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
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á?