Formatkonfigurationer
Kompletta renderingsalternativ per format
Varje dokument öppnas med en BaseConfig‑implementation. Skicka en till OpenDocumentAsync eller låt formatkatalogen skapa sin standard. Alla klasser nedan finns i Doconut‑namnrymden.
Den enda namnrymden är ny. Det tidigare .NET Standard‑biblioteket spred dessa typer över Doconut.Configs, Doconut.Configs.View och Doconut.Models. Typnamnen ändrades inte — i de flesta filer är hela ändringen att ta bort två using‑rader. Se migrationsguiden.
var token = await viewer.OpenDocumentAsync(path, new PdfConfig
{
AllowSearch = true,
AllowCopy = true,
ImageResolution = 150
});Arv och inbäddade PDF-inställningar
Varje format ärver de fem BaseConfig‑egenskaperna. Format som kan omdirigera via PDF exponerar en inbäddad PdfConfig. I WordConfig, ExcelConfig och PptConfig är AllowSearch och AllowCopy bekvämlighetsegenskaper som läser och skriver den inbäddade PdfConfig.
DefaultRender = true väljer den inbyggda formatrenderaren. På format med en PDF‑omdirigering konverterar false först till en PDF i minnet och använder sedan PDF‑visaren. Den vägen är ofta användbar för text‑koordinatssökning, men medför en extra konvertering.
Om inget annat anges visar tabellerna standardvärden för konstruktorer/egenskaper. Den automatiska formatkatalogen åsidosätter medvetet två av dem: den skapar ExcelConfig med SplitWorksheets = true och MhtConfig med DefaultRender = false.
BaseConfig
| Typ | Egenskap | Standard | Beteende |
|---|---|---|---|
int | ImageResolution | 0 | 0 använder formatets standard. Giltigt explicit intervall är 25‑300 DPI; ogiltiga tilldelningar ignoreras. |
string | DocumentCulture | "" | Språkinställning för datum och tal. Icke‑tomma värden trimmas; tomma tilldelningar ignoreras. |
string | Password | "" | Lösenord för skyddat dokument. DocOptions.Password kopieras hit automatiskt. |
bool | ShowUI | true | Kompatibilitetsegenskap; den aktuella renderaren använder den inte för att styra webbläsarens verktygsfält. |
bool | CachePages | true | Cacha renderade sidbilder för dokumentsessionen. |
PdfConfig
Format: PDF. Standard DPI: 200.
| Typ | Egenskap | Standard | Beteende |
|---|---|---|---|
bool | DefaultRender | true | Kompatibilitetsswitch. Den aktuella fabriken använder den inbyggda PDF‑visaren. |
bool | AllowSearch | false | Bygg/använd PDF‑textsökindexet. Kräver licenskapaciteten Search för förfrågningar. |
bool | AllowCopy | false | Tillåt textmarkering/kopiering. |
bool | ExtractHyperlinks | false | Extrahera länkrektanglar för klientöverlägg. |
int | HyperlinksPageCount | 0 | Maximalt antal sidor som genomsöks för länkar; 0 betyder varje sida. |
bool | CompressImages | false | Komprimera inbäddade bilder före rendering. |
int | CompressQuality | 100 | JPEG‑kvalitet som används när komprimering är aktiverad. |
bool | ResizeImages | false | Ändra storlek på inbäddade bilder före rendering. |
int | ResizeResolution | 300 | MåldPI för storleksändrade bilder. |
bool | CompressFast | false | Föredra den snabbare, lägre kvalitetskomprimeringsvägen. |
bool | FixInvalidImages | false | Försök reparera ogiltiga inbäddade bilder. |
bool | SplitSegments | false | Sammanfoga ord som delats över linjesegment för att förbättra sökning/kopiering. |
showHyperlinks i ViewerConfig styr klientöverlägget, medan ExtractHyperlinks styr serverextraheringen. Aktivera båda.
WordConfig
Format: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. Standard DPI: 200.
| Typ | Egenskap | Standard | Beteende |
|---|---|---|---|
bool | DefaultRender | true | Inbyggd Word‑rendering; false använder PDF‑omdirigeringen. |
PdfConfig | PdfConfig | ny instans | Inställningar som används av PDF‑/sökvägen. |
DocPaperSize | PaperSize | A4 | Utskriftspappersstorlek. Använd Custom med bredd/höjd. |
int | PaperWidth | 595 | Anpassad bredd i punkter. |
int | PaperHeight | 841 | Anpassad höjd i punkter. |
bool | RemovePaperMargin | false | Ta bort sidmarginaler i dokumentet. |
bool | RenderPageColor | true | Bevara Word:s konfigurerade sidfärg; false renderar vita sidor. |
bool | ExportPdfA | false | Använd arkiverings‑PDF/A på PDF‑vägen. |
Encoding? | FileEncoding | null | Åsidosätt källkodning. |
string | FontInfo | "" | Information om teckensnittssubstitution. |
string[]? | FontFolders | null | Ytterligare teckensnittskataloger, särskilt användbara i Linux/containrar. |
bool | AllowSearch | false | Delegerar till PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delegerar till PdfConfig.AllowCopy. |
TableAutoFitBehavior | AutoFitAllTables | None | None, AutoFitToContents eller AutoFitToWindow. |
ExcelConfig
Format: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. Standard DPI: 200.
| Typ | Egenskap | Standard | Beteende |
|---|---|---|---|
bool | DefaultRender | true | Inbyggd bladrendering; false använder PDF-omdirigeringen. |
PdfConfig | PdfConfig | ny instans | Inställningar för PDF-/sökvägen. |
ExcelPaperSize | PaperSize | PaperA4 | Utskriftspappersstorlek. |
double | PaperMargins | 0.25 | Sidmarginaler i tum. |
bool | PaperLandscape | true | Landskapsrendering av blad. |
bool | AutoFitContents | false | Automatisk anpassning av radhöjder och kolumnbredder. |
bool | RemoveEmptyContent | true | Komprimera utskriften genom att utesluta tomt innehåll. |
bool | CalculateFormula | true | Beräkna om formler innan rendering. |
bool | ShowRowColumnHeaders | true | Inkludera kalkylbladsrubriker. |
bool | ExportPdfA | false | Använd PDF/A på PDF-sökvägen. |
bool | SplitWorksheets | false | Behåll arbetsblad som separata sidgrupper. |
bool | ShowEmptyWorkSheets | false | Inkludera tomma arbetsblad. |
bool | ExportLandscape | false | Tvinga landskapsexport. |
bool | ExportOnePagePerSheet | false | Anpassa varje arbetsblad till en utskriftssida. |
bool | MemoryOptimizationPreference | true | Minska maxminne, eventuellt på bekostnad av hastighet. |
bool | AutoTrimWorksheetRenderRange | true | Rendera endast det synliga använda området när inget explicit utskriftsområde finns. |
bool | AutoTrimPreserveExistingPrintArea | true | Bevara arbetsboksdefinierade utskriftsområden under automatisk trimning. |
string? | PrintArea | null | Explicit område såsom "A1:Z100". |
bool | PrintGridlines | false | Skriv ut arbetsbladsrutnät. |
bool | PrintHeadings | false | Skriv ut rad-/kolumnrubriker. |
List<string> | SheetNames | tom | Begränsa rendering till namngivna arbetsblad. |
CustomStyleCell? | CustomStyles | null | Valfria överskrivningar för datum/decimal/heltalformat. |
bool | AllowSearch | false | Delegerar till PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delegerar till PdfConfig.AllowCopy. |
CustomStyleCell exponerar CustomStyleDateTime, CustomStyleNumberDecimal och CustomStyleNumberInteger, alla nullable strängar.
new ExcelConfig() sätter SplitWorksheets till false; att öppna en Excel-fil utan en explicit konfiguration använder formatkatalogen, som sätter den till true.
PptConfig
Format: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. Standard DPI: 200.
| Typ | Egenskap | Standard | Beteende |
|---|---|---|---|
bool | DefaultRender | true | Inbyggd bildrendering; false använder PDF-omdirigeringen. |
bool | FastLoad | false | Undvik rendering av den första bilden vid öppning; använd metadata och rendera vid behov. |
PdfConfig | PdfConfig | ny instans | Inställningar för PDF-/sökbeteende. |
string | FontInfo | "" | Information om teckensnittssubstitution. |
string[]? | FontFolders | null | Ytterligare teckensnittskataloger. |
bool | AllowSearch | false | Delegerar till PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delegerar till PdfConfig.AllowCopy. |
På Linux och macOS kräver presentationrendering med den aktuella motorn libgdiplus och System.Drawing.EnableUnixSupport=true. Installera de teckensnitt som används av presentationen eller ange FontFolders.
CadConfig
Format: DWG, DXF, DGN. Standard DPI: 200.
| Typ | Egenskap | Standard | Beteende |
|---|---|---|---|
bool | DefaultRender | true | Inbyggd CAD-rendering; false använder PDF-omdirigeringen. |
PdfConfig | PdfConfig | ny instans | Inställningar för PDF-sökväg. |
bool | ExportPdfA | false | Arkiv-PDF/A-utdata. |
bool | ShowColor | true | Färg istället för monokrom. |
bool | WhiteBackground | true | Vit bakgrund istället för svart. |
short | LineWidth | 25 | CAD-streckbredd. |
bool | ShowLayouts | false | Rendera layoutflikar. |
bool | ShowModel | true | Rendera modellutrymme. |
bool | Check3DSolid | true | Bearbeta 3D-solider. |
bool | ExportAllLayouts | false | Exportera alla layouter, åsidosätt modell/layout-val. |
bool | LimitMinimumSize | false | Tillämpa MinimumSize. |
int | MinimumSize | 700 | Minsta utskriftsstorlek i pixlar. |
bool | LimitMaximumSize | false | Tillämpa MaximumSize. |
int | MaximumSize | 700 | Största utskriftsstorlek i pixlar. |
bool | ShowAllLayoutsDgn | false | Inkludera alla DGN-layouter. |
bool | AutomaticLayoutScaling | true | Skala layouter automatiskt. |
float | PdfMargins | 0.5 | PDF-marginal i tum. |
RenderQuality | QualityImage | Låg | Rasterkvalitet: Låg, Mellan eller Hög. |
RenderQuality | QualityText | Mellan | Textkvalitet: Låg, Mellan eller Hög. |
Epostkonfiguration
Format: EML, EMLX, MSG. Standard DPI: 200.
| Typ | Egenskap | Standard | Beteende |
|---|---|---|---|
bool | DefaultRender | true | Inbyggd e‑postrendering; false använder PDF‑omdirigeringen. |
PdfConfig | PdfConfig | new instance | Inställningar för PDF‑sökväg. |
Encoding? | EmailEncoding | null | Åsidosätt meddelandekodning. |
Encoding? | SubjectEncoding | null | Åsidosätt ämneskodning. |
Encoding? | BodyEncoding | null | Åsidosätt brödtextkodning. |
bool | SkipExternalImages | false | Ladda inte bilder som refereras på distans. Rekommenderas för opålitlig e‑post. |
bool | RemoveLastWhitePage | false | Ta bort en avslutande tom sida. |
bool | UseAntiAliasing | false | Aktivera kantutjämning. |
bool | UseHighQualityRendering | false | Föredra renare, långsammare rendering. |
TimeSpan? | TimeZoneOffset | null | Åsidosätt tidszonen som används för datum. |
bool | ForcePageSize | false | Tvinga fasta sidmått. |
Bildkonfiguration, TiffKonfiguration och PsdKonfiguration
ImageConfig täcker JPG, JPEG, JPE, PNG, BMP, GIF, ICO, EPS, TGA, WEBP, CDR, CMX, DNG, EMF, WMF, AVIF och SVG. Dess standard DPI är 100.
| Konfiguration | Egenskap | Standard | Beteende |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | Maximal bredd/höjd. 0 betyder obegränsat; icke‑nollvärden under 50 ignoreras. |
ImageConfig | TransparentPng | true | Bevara PNG-transparens; false använder en vit bakgrund. |
TiffConfig | no additional properties | DPI 200 | Använder endast BaseConfig; stöder flersidig TIFF. |
PsdConfig | MaxImagePixelSize | 3000 | Samma 0/minimum‑50‑validering som ImageConfig; standard DPI är 100. |
DicomKonfiguration
Format: DCM, IMA. Standard effektiv DPI: 100. Kräver DICOM‑plugin.
| Typ | Egenskap | Standard | Beteende |
|---|---|---|---|
int | HorizontalResolution | 100 effective | Explicit horisontell DPI; annars ImageResolution, sedan 100. |
int | VerticalResolution | 100 effective | Explicit vertikal DPI; annars ImageResolution, sedan 100. |
int | AnimationFrameDelayMs | 100 | Fördröjning för flermotorsanimation; GIF‑timing använder 10 ms‑enheter. |
ushort | LoopCount | 0 | 0 loopar för alltid; positiva värden stoppar efter det antalet. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly, FramesOnly eller kombinerad översikt plus statiska ramar. |
TxtKonfiguration
Format: TXT. Standard DPI: 200.
| Typ | Egenskap | Standard | Beteende |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | Utskriftspappersstorlek. |
Encoding? | FileEncoding | null | null använder UTF‑8. |
string | FontInformation | "" | Teckensnittsinformation för textrendering. |
Använd WordConfig när vanlig text behöver rikare sidlayoutbeteende.
ProjektKonfiguration
Format: MPP, MPPX, MPX. Standard DPI: 200.
| Typ | Egenskap | Standard | Beteende |
|---|---|---|---|
bool | DefaultRender | true | Inbyggd Gantt‑bild; false använder en textbaserad PDF‑sökväg. |
PdfConfig | PdfConfig | new instance | Inställningar för PDF‑sökväg. |
bool | ExportPdfA | true | Arkiverings‑PDF/A‑utdata. |
MppPaperSize | PaperSize | Ledger | Projektets utskriftspappersstorlek. |
MppTimeScale | TimeScale | Months | Days eller Months. |
MppFormat | PresentationFormat | GanttChart | GanttChart, TaskUsage, ResourceUsage, ResourceSheet eller TaskSheet. |
För exakt text‑koordinatsökning, använd DefaultRender = false.
VisioKonfiguration
Format: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. Standard DPI: 200.
| Typ | Egenskap | Standard | Beteende |
|---|---|---|---|
bool | DefaultRender | true | Inbyggd diagramrendering; false använder PDF‑omdirigeringen. |
PdfConfig | PdfConfig | new instance | Inställningar för PDF‑sökväg. |
bool | ExportPdfA | true | Arkiverings‑PDF/A‑utdata. |
HtmlKonfiguration, EpubKonfiguration, MhtKonfiguration och XpsKonfiguration
Alla fyra har standard 200 DPI och exponerar en inbäddad PdfConfig.
| Konfiguration | Format | DefaultRender | Ytterligare egenskaper/beteende |
|---|---|---|---|
HtmlConfig | HTML, HTM | true | Inbyggd rendering; använd false för en textbaserad PDF‑sökväg. |
EpubConfig | EPUB | true | Inbyggd rendering; false använder PDF. |
MhtConfig | MHT, MHTML | true on the class; false in the automatic catalog | true på klassen; false i den automatiska katalogen. Den normala öppningen utan konfiguration använder den sökbara PDF‑omdirigeringen. En explicit konstruerad standardinstans renderar inbyggt. |
XpsConfig | XPS | false | Använder PDF‑sökvägen som standard; sätt true för inbyggd bildrendering. |
Konfigurationsexempel per familj
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
}
};Urval per filändelse
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
};Var den här sidan hjälpsam?