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‑namnrymden.

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. För format med 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 innebä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""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 dokumentsessionen.

PdfConfig

Format: PDF. Standard DPI: 200.

TypEgenskapStandardBeteende
boolDefaultRendertrueKompatibilitetsswitch. Den aktuella fabriken använder den inbyggda PDF‑visaren.
boolAllowSearchfalseBygg/använd PDF‑text­sökindexet. Kräver licenskapaciteten Search för förfrågningar.
boolAllowCopyfalseTillåt textmarkering/kopiering.
boolExtractHyperlinksfalseExtrahera länkrektanglar för klient‑överläggningar.
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 ändrade bilder.
boolCompressFastfalseFöredra den snabbare, lägre‑kvalitativa komprimeringsvägen.
boolFixInvalidImagesfalseFörsök reparera ogiltiga inbäddade bilder.
boolSplitSegmentsfalseSammanslå ord som delats över radsegment för att förbättra sökning/kopiering.

showHyperlinks i ViewerConfig styr klient‑överläggningen, 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.
DocPaperSizePaperSizeA4Utskriftsformat för papper. Använd Custom med bredd/höjd.
intPaperWidth595Anpassad bredd i punkter.
intPaperHeight841Anpassad höjd i punkter.
boolRemovePaperMarginfalseTa bort sidmarginaler i dokumentet.
boolRenderPageColortrueBevara Word‑konfigurerad 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/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.
PdfConfigPdfConfigny instansInställningar för PDF‑/sökvägen.
ExcelPaperSizePaperSizePaperA4Utskriftsformat för papper.
doublePaperMargins0.25Sidmarginaler i tum.
boolPaperLandscapetrueLandskapsrendering av blad.
boolAutoFitContentsfalseAuto‑anpassa radhöjder och kolumnbredder.
boolRemoveEmptyContenttrueStrama åt utskriften genom att utesluta tomt innehåll.
boolCalculateFormulatrueBeräkna om formler före rendering.
boolShowRowColumnHeaderstrueInkludera kalkylbladsrubriker.
boolExportPdfAfalseAnvänd PDF/A på PDF‑vä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 auto‑trim.
string?PrintAreanullExplicit område såsom "A1:Z100".
boolPrintGridlinesfalseSkriv ut kalkylbladsgridlinjer.
boolPrintHeadingsfalseSkriv ut rad‑/kolumnrubriker.
List<string>SheetNamesemptyBegränsa rendering till namngivna arbetsblad.
CustomStyleCell?CustomStylesnullValfria datum/decimal/heltal‑formateringsö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.
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 i 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‑vägen.
boolExportPdfAfalseArkiverings‑PDF/A‑utdata.
boolShowColortrueFärg snarare än monokrom.
boolWhiteBackgroundtrueVit istället för svart bakgrund.
shortLineWidth25CAD‑linjebredd.
boolShowLayoutsfalseRendera layoutflikar.
boolShowModeltrueRendera modellutrymme.
boolCheck3DSolidtrueBearbeta 3D‑solider.
boolExportAllLayoutsfalseExportera alla layouter, åsidosätter 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.

EmailConfig

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

TypEgenskapStandardBeteende
boolDefaultRendertrueInbyggd e‑postrendering; false använder PDF‑omdirigeringen.
PdfConfigPdfConfigny instansInställningar för PDF‑vägen.
Encoding?EmailEncodingnullÅsidosätt meddelandekodning.
Encoding?SubjectEncodingnullÅsidosätt ämneskodning.
Encoding?BodyEncodingnullÅsidosätt brödtextkodning.
boolSkipExternalImagesfalseLadda inte fjärrrefererade bilder. 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änsat; icke‑nollvärden under 50 ignoreras.
ImageConfigTransparentPngtrueBevara PNG‑transparens; false använder vit bakgrund.
TiffConfiginga ytterligare egenskaperDPI 200Använder endast BaseConfig; stöder flersidig TIFF.
PsdConfigMaxImagePixelSize3000Samma 0/minimum‑50‑validering som ImageConfig; standard DPI är 100.

DicomConfig

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‑tidtagning använder 10 ms‑enheter.
ushortLoopCount00 loopar för evigt; positiva värden stoppar efter det antalet.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly, FramesOnly eller kombinerad översikt plus statiska ramar.

TxtConfig

Format: TXT. Standard DPI: 200.

TypEgenskapStandardBeteende
DocPaperSizePaperSizeA4Utskriftsformat för papper.
Encoding?FileEncodingnullnull använder UTF-8.
stringFontInformation""Teckensnittsinformation för textrendering.

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

ProjectConfig

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

TypEgenskapStandardBeteende
boolDefaultRendertrueInbyggd Gantt‑bild; false använder en textbaserad PDF‑väg.
PdfConfigPdfConfigny instansInställningar för PDF‑vägen.
boolExportPdfAtrueArkiverings‑PDF/A‑utdata.
MppPaperSizePaperSizeLedgerProjektets utskriftsformat för papper.
MppTimeScaleTimeScaleMonthsDays eller Months.
MppFormatPresentationFormatGanttChartGanttChart, TaskUsage, ResourceUsage, ResourceSheet eller TaskSheet.

För exakt text‑koordinatsökning, använd DefaultRender = false.

VisioConfig

Format: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. Standard DPI: 200.

TypEgenskapStandardBeteende
boolDefaultRendertrueInbyggd diagramrendering; false använder PDF‑omdirigeringen.
PdfConfigPdfConfigny instansInställningar för PDF‑vägen.
boolExportPdfAtrueArkiverings‑PDF/A‑utdata.

HtmlConfig, EpubConfig, MhtConfig och XpsConfig

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 på klassen; false i den automatiska katalogentrue på klassen; false i den automatiska katalogen
XpsConfigXPSfalseAnvänder PDF‑vä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 = ["/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
    }
];

Per‑tilläggsval

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 till hjälp?