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 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 inbyggda format‑renderaren. På format med en PDF‑omdirigering konverterar false först till ett PDF‑minne 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 konstruktor/egenskaper. 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 nuvarande 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
boolDefaultRendertrueKompatibilitetsväxel. Den nuvarande fabriken använder den inbyggda PDF‑visaren.
boolAllowSearchfalseBygg/använd PDF‑text‑sökindex. Kräver licenskapaciteten Search för förfrågningar.
boolAllowCopyfalseTillåt text‑markering/kopiering.
boolExtractHyperlinksfalseExtrahera länkrektanglar för klient‑överlappning.
intHyperlinksPageCount0Maximalt antal sidor som skannas för länkar; 0 betyder alla sidor.
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‑kvalitets‑komprimeringsvägen.
boolFixInvalidImagesfalseFörsök reparera ogiltiga inbäddade bilder.
boolSplitSegmentsfalseSätt ihop ord som delats över radsegment för att förbättra sökning/kopiering.

showHyperlinks i ViewerConfig styr klient‑överlappning, medan ExtractHyperlinks styr server‑extraktion. 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.
DocPaperSizePaperSizeA4Utdata‑pappersstorlek. Använd Custom med bredd/höjd.
intPaperWidth595Anpassad bredd i punkter.
intPaperHeight841Anpassad höjd i punkter.
boolRemovePaperMarginfalseTa bort dokumentets sidomarginaler.
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 teckensnitts‑substitution.
string[]?FontFoldersnullYtterligare teckensnittskataloger, särskilt användbart i Linux/kontainrar.
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 blad‑rendering; false använder PDF‑omdirigeringen.
PdfConfigPdfConfignew instanceInställningar för PDF‑/sökvägen.
ExcelPaperSizePaperSizePaperA4Utdata‑pappersstorlek.
doublePaperMargins0.25Sidmarginaler i tum.
boolPaperLandscapetrueLandskapsrendering av blad.
boolAutoFitContentsfalseAuto‑anpassa radhöjder och kolumnbredder.
boolRemoveEmptyContenttrueKomprimera utdata genom att utesluta tomt innehåll.
boolCalculateFormulatrueRäkna om formler före rendering.
boolShowRowColumnHeaderstrueInkludera kalkylbladsrubriker.
boolExportPdfAfalseAnvänd PDF/A på PDF‑vägen.
boolSplitWorksheetsfalseBehåll kalkylblad som separata sidgrupper.
boolShowEmptyWorkSheetsfalseInkludera tomma kalkylblad.
boolExportLandscapefalseTvinga landskapsexport.
boolExportOnePagePerSheetfalseAnpassa varje kalkylblad till en utskriftsida.
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, t.ex. "A1:Z100".
boolPrintGridlinesfalseSkriv ut kalkylbladsgridlinjer.
boolPrintHeadingsfalseSkriv ut rad‑/kolumnrubriker.
List<string>SheetNamesemptyBegränsa rendering till namngivna kalkylblad.
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; att öppna 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 bild‑rendering; false använder PDF‑omdirigeringen.
boolFastLoadfalseUndvik att rendera den första bilden vid öppning; använd metadata och rendera på begäran.
PdfConfigPdfConfignew instanceInställningar för PDF‑/sök‑beteende.
stringFontInfo""Information om teckensnitts‑substitution.
string[]?FontFoldersnullYtterligare teckensnittskataloger.
boolAllowSearchfalseDelegerar till PdfConfig.AllowSearch.
boolAllowCopyfalseDelegerar till PdfConfig.AllowCopy.

På Linux och macOS kräver presentation‑rendering med den nuvarande 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.
PdfConfigPdfConfignew instancePDF‑vägens inställningar.
boolExportPdfAfalseArkiv‑PDF/A‑utdata.
boolShowColortrueFärg snarare än monokrom.
boolWhiteBackgroundtrueVit i stället för svart bakgrund.
shortLineWidth25CAD‑linjebredd.
boolShowLayoutsfalseRendera layout‑flikar.
boolShowModeltrueRendera modellutrymme.
boolCheck3DSolidtrueBearbeta 3D‑solider.
boolExportAllLayoutsfalseExportera alla layouter, åsidosätt modell/layout‑val.
boolLimitMinimumSizefalseTillämpa MinimumSize.
intMinimumSize700Minsta utdata‑storlek i pixlar.
boolLimitMaximumSizefalseTillämpa MaximumSize.
intMaximumSize700Största utdata‑storlek i pixlar.
boolShowAllLayoutsDgnfalseInkludera alla DGN‑layouter.
boolAutomaticLayoutScalingtrueSkala layouter automatiskt.
floatPdfMargins0.5PDF‑marginal i tum.
RenderQualityQualityImageLowRaster‑kvalitet: Low, Medium eller High.
RenderQualityQualityTextMediumText‑kvalitet: Low, Medium eller High.

EmailConfig

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

TypEgenskapStandardBeteende
boolDefaultRendertrueInbyggd e‑post‑rendering; false använder PDF‑omdirigeringen.
PdfConfigPdfConfignew instancePDF‑vägens inställningar.
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 tidszon 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; noll‑värden under 50 ignoreras.
ImageConfigTransparentPngtrueBevara PNG‑transparens; false använder vit bakgrund.
TiffConfigno additional propertiesDPI 200Använder endast BaseConfig; stödjer flersidig TIFF.
PsdConfigMaxImagePixelSize3000Samma 0/min‑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 flermotors‑animation; GIF‑tidtagning använder 10 ms‑enheter.
ushortLoopCount00 loopar för alltid; positiva värden stoppar efter angivet antal.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly, FramesOnly eller kombinerad översikt plus statiska ramar.

TxtConfig

Format: TXT. Standard‑DPI: 200.

TypEgenskapStandardBeteende
DocPaperSizePaperSizeA4Utdata‑pappersstorlek.
Encoding?FileEncodingnullnull använder UTF‑8.
stringFontInformation""Teckensnittsinformation för text‑rendering.

Använd WordConfig när ren text behöver rikare sidlayout‑beteende.

ProjectConfig

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

TypEgenskapStandardBeteende
boolDefaultRendertrueInbyggd Gantt‑bild; false använder en text‑baserad PDF‑väg.
PdfConfigPdfConfignew instancePDF‑vägens inställningar.
boolExportPdfAtrueArkiv‑PDF/A‑utdata.
MppPaperSizePaperSizeLedgerProjekt‑utdata‑pappersstorlek.
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 diagram‑rendering; false använder PDF‑omdirigeringen.
PdfConfigPdfConfignew instancePDF‑vägens inställningar.
boolExportPdfAtrueArkiv‑PDF/A‑utdata.

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 text‑baserad 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‑vägen som standard; sätt true för inbyggd bild‑rendering.

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

Per‑filändelse‑val

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?