Formatkonfigurationer

Fullständiga 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-namnutrymmet.

Det enda namnutrymmet är nytt. 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 nästlade PDF-inställningar

Varje format ärver de fem BaseConfig-egenskaperna. Format som kan omdirigera via PDF exponerar en nästlad PdfConfig. I WordConfig, ExcelConfig och PptConfig är AllowSearch och AllowCopy bekvämlighets‑egenskaper som läser och skriver den nästlade PdfConfig.

DefaultRender = true väljer den inhemska format‑renderaren. 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‑koordinatsökning, men kostar 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""Lokalkod 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 dokumentets session.

PdfConfig

Format: PDF. Standard‑DPI: 200.

TypEgenskapStandardBeteende
boolDefaultRendertrueKompatibilitetsväxel. Den aktuella fabriken använder den inhemska PDF‑visaren.
boolAllowSearchfalseBygg/använd PDF‑text‑sökindexet. Kräver Search‑licensfunktion för förfrågningar.
boolAllowCopyfalseTillåt text‑markering/kopiering.
boolExtractHyperlinksfalseExtrahera länkrektanglar för klient‑överlägg.
intHyperlinksPageCount0Maximalt antal sidor som skannas 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 ändrade bilder.
boolCompressFastfalseFöredra den snabbare, lägre‑kvalitets komprimeringsvägen.
boolFixInvalidImagesfalseFörsök reparera ogiltiga inbäddade bilder.
boolSplitSegmentsfalseSammanfoga ord som delats över radsegment för att förbättra sökning/kopiering.

showHyperlinks i ViewerConfig styr klient‑överlägg, medan ExtractHyperlinks styr serverextraktion. 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.
PdfConfigPdfConfignew instanceInstä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 dokumentets sidmarginaler.
boolRenderPageColortrueBevara Word‑konfigurerad sidfärg; false renderar vita sidor.
boolExportPdfAfalseAnvänd arkiv‑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/containers.
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.
PdfConfigPdfConfignew instanceInställningar för PDF/sökvägen.
ExcelPaperSizePaperSizePaperA4Utskriftspappersstorlek.
doublePaperMargins0.25Sidmarginaler i tum.
boolPaperLandscapetrueLandskapsbladrendering.
boolAutoFitContentsfalseAutomatisk anpassning av radhöjder och kolumnbredder.
boolRemoveEmptyContenttrueKomprimera utskriften genom att utesluta tomt innehåll.
boolCalculateFormulatrueBeräkna om formler före rendering.
boolShowRowColumnHeaderstrueInkludera kalkylbladsrubriker.
boolExportPdfAfalseAnvänd PDF/A på PDF-sökvägen.
boolSplitWorksheetsfalseBehåll kalkylblad som separata sidgrupper.
boolShowEmptyWorkSheetsfalseInkludera tomma kalkylblad.
boolExportLandscapefalseTvinga landskapsexport.
boolExportOnePagePerSheetfalseAnpassa varje kalkylblad 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 beskärning.
string?PrintAreanullExplicit område såsom "A1:Z100".
boolPrintGridlinesfalseSkriv ut kalkylbladsrutnät.
boolPrintHeadingsfalseSkriv ut rad-/kolumnrubriker.
List<string>SheetNamesemptyBegränsa rendering till namngivna kalkylblad.
CustomStyleCell?CustomStylesnullValfria datum-/decimal-/heltalformateringsöverskrivningar.
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; öppning av en Excel-fil utan 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 bildspelsrendering; false använder PDF-omdirigeringen.
boolFastLoadfalseUndvik rendering av den första bilden vid öppning; använd metadata och rendera vid behov.
PdfConfigPdfConfignew instanceInstä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 tillhandahåll FontFolders.

CadConfig

Format: DWG, DXF, DGN. Standard DPI: 200.

TypEgenskapStandardBeteende
boolDefaultRendertrueInbyggd CAD-rendering; false använder PDF-omdirigeringen.
PdfConfigPdfConfignew instanceInställningar för PDF-sökväg.
boolExportPdfAfalseArkiverad 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.
RenderQualityQualityImageLowRasterkvalitet: Low, Medium eller High.
RenderQualityQualityTextMediumTextkvalitet: Low, Medium eller High.

EpostKonfiguration

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

TypEgenskapStandardBeteende
boolDefaultRendertrueInbyggd e‑postrendering; false använder PDF‑omdirigeringen.
PdfConfigPdfConfigny instansPDF‑sökvägsinställningar.
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.

ImageConfig, TiffConfig och PsdConfig

ImageConfig omfattar 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änsad; nollskilda värden under 50 ignoreras.
ImageConfigTransparentPngtrueBevara PNG‑transparens; false använder en vit bakgrund.
TiffConfiginga ytterligare egenskaperDPI 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 effektivExplicit horisontell DPI; annars ImageResolution, sedan 100.
intVerticalResolution100 effektivExplicit vertikal DPI; annars ImageResolution, sedan 100.
intAnimationFrameDelayMs100Fördröjning för flermålsanimation; GIF‑tidtagning använder enheter på 10 ms.
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""Typsnittsinformation 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.
PdfConfigPdfConfigny instansPDF‑sökvägsinställningar.
boolExportPdfAtrueArkiverad PDF/A‑utmatning.
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.
PdfConfigPdfConfigny instansPDF‑sökvägsinställningar.
boolExportPdfAtrueArkiverad PDF/A‑utmatning.

HtmlConfig, EpubConfig, MhtConfig och XpsConfig

Alla fyra har standard 200 DPI och exponerar en nästlad 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 på klassen; false i den automatiska katalogenDen 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
    }
};

Val 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 omdirigering → pixel‑exakt inbyggd textsökning
    ".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
    ".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
    _ => null // återgå till formatets standardkonfiguration
};

Var den här sidan hjälpsam?