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.

csharp
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

TypEgenskapStandardBeteende
intImageResolution00 använder formatets standard. Giltigt explicit intervall är 25‑300 DPI; ogiltiga tilldelningar ignoreras.
stringDocumentCulture""Språkinställning för datum och tal. Icke‑tomma värden trimmas; tomma tilldelningar ignoreras.
stringPassword""Lösenord för skyddat dokument. DocOptions.Password kopieras hit automatiskt.
boolShowUItrueKompatibilitetsegenskap; den aktuella renderaren använder den inte för att styra webbläsarens verktygsfält.
boolCachePagestrueCacha renderade sidbilder för dokumentsessionen.

PdfConfig

Format: PDF. Standard DPI: 200.

TypEgenskapStandardBeteende
boolDefaultRendertrueKompatibilitetsswitch. Den aktuella fabriken använder den inbyggda PDF‑visaren.
boolAllowSearchfalseBygg/använd PDF‑textsökindexet. Kräver licenskapaciteten Search för förfrågningar.
boolAllowCopyfalseTillåt textmarkering/kopiering.
boolExtractHyperlinksfalseExtrahera länkrektanglar för klientöverlägg.
intHyperlinksPageCount0Maximalt antal sidor som genomsöks för länkar; 0 betyder varje sida.
boolCompressImagesfalseKomprimera inbäddade bilder före rendering.
intCompressQuality100JPEG‑kvalitet som används när komprimering är aktiverad.
boolResizeImagesfalseÄndra storlek på inbäddade bilder före rendering.
intResizeResolution300MåldPI för storleksändrade bilder.
boolCompressFastfalseFöredra den snabbare, lägre kvalitetskomprimeringsvägen.
boolFixInvalidImagesfalseFörsök reparera ogiltiga inbäddade bilder.
boolSplitSegmentsfalseSammanfoga 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.

TypEgenskapStandardBeteende
boolDefaultRendertrueInbyggd Word‑rendering; false använder PDF‑omdirigeringen.
PdfConfigPdfConfigny instansInställningar som används av PDF‑/sökvägen.
DocPaperSizePaperSizeA4Utskriftspappersstorlek. Använd Custom med bredd/höjd.
intPaperWidth595Anpassad bredd i punkter.
intPaperHeight841Anpassad höjd i punkter.
boolRemovePaperMarginfalseTa bort sidmarginaler i dokumentet.
boolRenderPageColortrueBevara Word:s konfigurerade sidfärg; false renderar vita sidor.
boolExportPdfAfalseAnvänd arkiverings‑PDF/A på PDF‑vägen.
Encoding?FileEncodingnullÅsidosätt källkodning.
stringFontInfo""Information om teckensnittssubstitution.
string[]?FontFoldersnullYtterligare teckensnittskataloger, särskilt användbara i Linux/containrar.
boolAllowSearchfalseDelegerar till PdfConfig.AllowSearch.
boolAllowCopyfalseDelegerar till PdfConfig.AllowCopy.
TableAutoFitBehaviorAutoFitAllTablesNoneNone, AutoFitToContents eller AutoFitToWindow.

ExcelConfig

Format: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. Standard DPI: 200.

TypEgenskapStandardBeteende
boolDefaultRendertrueInbyggd bladrendering; false använder PDF-omdirigeringen.
PdfConfigPdfConfigny instansInställningar för PDF-/sökvägen.
ExcelPaperSizePaperSizePaperA4Utskriftspappersstorlek.
doublePaperMargins0.25Sidmarginaler i tum.
boolPaperLandscapetrueLandskapsrendering av blad.
boolAutoFitContentsfalseAutomatisk anpassning av radhöjder och kolumnbredder.
boolRemoveEmptyContenttrueKomprimera utskriften genom att utesluta tomt innehåll.
boolCalculateFormulatrueBeräkna om formler innan rendering.
boolShowRowColumnHeaderstrueInkludera kalkylbladsrubriker.
boolExportPdfAfalseAnvänd PDF/A på PDF-sökvägen.
boolSplitWorksheetsfalseBehåll arbetsblad som separata sidgrupper.
boolShowEmptyWorkSheetsfalseInkludera tomma arbetsblad.
boolExportLandscapefalseTvinga landskapsexport.
boolExportOnePagePerSheetfalseAnpassa varje arbetsblad till en utskriftssida.
boolMemoryOptimizationPreferencetrueMinska maxminne, eventuellt på bekostnad av hastighet.
boolAutoTrimWorksheetRenderRangetrueRendera endast det synliga använda området när inget explicit utskriftsområde finns.
boolAutoTrimPreserveExistingPrintAreatrueBevara arbetsboksdefinierade utskriftsområden under automatisk trimning.
string?PrintAreanullExplicit område såsom "A1:Z100".
boolPrintGridlinesfalseSkriv ut arbetsbladsrutnät.
boolPrintHeadingsfalseSkriv ut rad-/kolumnrubriker.
List<string>SheetNamestomBegränsa rendering till namngivna arbetsblad.
CustomStyleCell?CustomStylesnullValfria överskrivningar för datum/decimal/heltalformat.
boolAllowSearchfalseDelegerar till PdfConfig.AllowSearch.
boolAllowCopyfalseDelegerar 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.

TypEgenskapStandardBeteende
boolDefaultRendertrueInbyggd bildrendering; false använder PDF-omdirigeringen.
boolFastLoadfalseUndvik rendering av den första bilden vid öppning; använd metadata och rendera vid behov.
PdfConfigPdfConfigny instansInställningar för PDF-/sökbeteende.
stringFontInfo""Information om teckensnittssubstitution.
string[]?FontFoldersnullYtterligare teckensnittskataloger.
boolAllowSearchfalseDelegerar till PdfConfig.AllowSearch.
boolAllowCopyfalseDelegerar 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.

TypEgenskapStandardBeteende
boolDefaultRendertrueInbyggd CAD-rendering; false använder PDF-omdirigeringen.
PdfConfigPdfConfigny instansInställningar för PDF-sökväg.
boolExportPdfAfalseArkiv-PDF/A-utdata.
boolShowColortrueFärg istället för monokrom.
boolWhiteBackgroundtrueVit bakgrund istället för svart.
shortLineWidth25CAD-streckbredd.
boolShowLayoutsfalseRendera layoutflikar.
boolShowModeltrueRendera modellutrymme.
boolCheck3DSolidtrueBearbeta 3D-solider.
boolExportAllLayoutsfalseExportera alla layouter, åsidosätt modell/layout-val.
boolLimitMinimumSizefalseTillämpa MinimumSize.
intMinimumSize700Minsta utskriftsstorlek i pixlar.
boolLimitMaximumSizefalseTillämpa MaximumSize.
intMaximumSize700Största utskriftsstorlek i pixlar.
boolShowAllLayoutsDgnfalseInkludera alla DGN-layouter.
boolAutomaticLayoutScalingtrueSkala layouter automatiskt.
floatPdfMargins0.5PDF-marginal i tum.
RenderQualityQualityImageLågRasterkvalitet: Låg, Mellan eller Hög.
RenderQualityQualityTextMellanTextkvalitet: Låg, Mellan eller Hög.

Epostkonfiguration

Format: EML, EMLX, MSG. Standard DPI: 200.

TypEgenskapStandardBeteende
boolDefaultRendertrueInbyggd e‑postrendering; false använder PDF‑omdirigeringen.
PdfConfigPdfConfignew instanceInställningar för PDF‑sökväg.
Encoding?EmailEncodingnullÅsidosätt meddelandekodning.
Encoding?SubjectEncodingnullÅsidosätt ämneskodning.
Encoding?BodyEncodingnullÅsidosätt brödtextkodning.
boolSkipExternalImagesfalseLadda inte bilder som refereras på distans. Rekommenderas för opålitlig e‑post.
boolRemoveLastWhitePagefalseTa bort en avslutande tom sida.
boolUseAntiAliasingfalseAktivera kantutjämning.
boolUseHighQualityRenderingfalseFöredra renare, långsammare rendering.
TimeSpan?TimeZoneOffsetnullÅsidosätt tidszonen som används för datum.
boolForcePageSizefalseTvinga 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.

KonfigurationEgenskapStandardBeteende
ImageConfigMaxImagePixelSize3000Maximal bredd/höjd. 0 betyder obegränsat; icke‑nollvärden under 50 ignoreras.
ImageConfigTransparentPngtrueBevara PNG-transparens; false använder en vit bakgrund.
TiffConfigno additional propertiesDPI 200Använder endast BaseConfig; stöder flersidig TIFF.
PsdConfigMaxImagePixelSize3000Samma 0/minimum‑50‑validering som ImageConfig; standard DPI är 100.

DicomKonfiguration

Format: DCM, IMA. Standard effektiv DPI: 100. Kräver DICOM‑plugin.

TypEgenskapStandardBeteende
intHorizontalResolution100 effectiveExplicit horisontell DPI; annars ImageResolution, sedan 100.
intVerticalResolution100 effectiveExplicit vertikal DPI; annars ImageResolution, sedan 100.
intAnimationFrameDelayMs100Fördröjning för flermotorsanimation; GIF‑timing använder 10 ms‑enheter.
ushortLoopCount00 loopar för alltid; positiva värden stoppar efter det antalet.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly, FramesOnly eller kombinerad översikt plus statiska ramar.

TxtKonfiguration

Format: TXT. Standard DPI: 200.

TypEgenskapStandardBeteende
DocPaperSizePaperSizeA4Utskriftspappersstorlek.
Encoding?FileEncodingnullnull använder UTF‑8.
stringFontInformation""Teckensnittsinformation för textrendering.

Använd WordConfig när vanlig text behöver rikare sidlayoutbeteende.

ProjektKonfiguration

Format: MPP, MPPX, MPX. Standard DPI: 200.

TypEgenskapStandardBeteende
boolDefaultRendertrueInbyggd Gantt‑bild; false använder en textbaserad PDF‑sökväg.
PdfConfigPdfConfignew instanceInställningar för PDF‑sökväg.
boolExportPdfAtrueArkiverings‑PDF/A‑utdata.
MppPaperSizePaperSizeLedgerProjektets utskriftspappersstorlek.
MppTimeScaleTimeScaleMonthsDays eller Months.
MppFormatPresentationFormatGanttChartGanttChart, 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.

TypEgenskapStandardBeteende
boolDefaultRendertrueInbyggd diagramrendering; false använder PDF‑omdirigeringen.
PdfConfigPdfConfignew instanceInställningar för PDF‑sökväg.
boolExportPdfAtrueArkiverings‑PDF/A‑utdata.

HtmlKonfiguration, EpubKonfiguration, MhtKonfiguration och XpsKonfiguration

Alla fyra har standard 200 DPI och exponerar en inbäddad PdfConfig.

KonfigurationFormatDefaultRenderYtterligare egenskaper/beteende
HtmlConfigHTML, HTMtrueInbyggd rendering; använd false för en textbaserad PDF‑sökväg.
EpubConfigEPUBtrueInbyggd rendering; false använder PDF.
MhtConfigMHT, MHTMLtrue on the class; false in the automatic catalogtrue 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.
XpsConfigXPSfalseAnvänder PDF‑sökvägen som standard; sätt true för inbyggd bildrendering.

Konfigurationsexempel per familj

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

Urval per filändelse

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

Var den här sidan hjälpsam?