Formatkonfigurationen

Vollständige Rendering-Optionen pro Format

Jedes Dokument wird mit einer BaseConfig‑Implementierung geöffnet. Übergeben Sie eine an OpenDocumentAsync oder lassen Sie den Formatkatalog seine Standardkonfiguration erstellen. Alle untenstehenden Klassen befinden sich im Doconut‑Namespace.

csharp
var token = await viewer.OpenDocumentAsync(path, new PdfConfig
{
    AllowSearch = true,
    AllowCopy   = true,
    ImageResolution = 150
});

Vererbung und verschachtelte PDF‑Einstellungen

Jedes Format erbt die fünf BaseConfig‑Eigenschaften. Formate, die über PDF umgeleitet werden können, stellen eine verschachtelte PdfConfig bereit. In WordConfig, ExcelConfig und PptConfig sind AllowSearch und AllowCopy Komfort‑Eigenschaften, die die verschachtelte PdfConfig lesen und schreiben.

DefaultRender = true wählt den nativen Format‑Renderer. Bei Formaten mit einer PDF‑Umleitung konvertiert false zunächst in ein PDF im Speicher und verwendet anschließend den PDF‑Viewer. Dieser Pfad ist häufig nützlich für textkoordinatenbasierte Suche, verursacht jedoch eine zusätzliche Konvertierung.

Sofern nicht anders angegeben, zeigen die Tabellen die Standardwerte von Konstruktoren/Eigenschaften. Der automatische Formatkatalog überschreibt bewusst zwei davon: Er erstellt ExcelConfig mit SplitWorksheets = true und MhtConfig mit DefaultRender = false.

BaseConfig

TypEigenschaftStandardVerhalten
intImageResolution00 verwendet den Format‑Standard. Gültiger expliziter Bereich ist 25‑300 DPI; ungültige Zuweisungen werden ignoriert.
stringDocumentCulture""Gebietsschema für Datums‑ und Zahlenangaben. Nicht‑leere Werte werden getrimmt; leere Zuweisungen werden ignoriert.
stringPassword""Passwort für geschützte Dokumente. DocOptions.Password wird hier automatisch kopiert.
boolShowUItrueKompatibilitätseigenschaft; der aktuelle Renderer verwendet sie nicht zur Steuerung der Browser‑Symbolleiste.
boolCachePagestrueZwischenspeichern gerenderter Seitenbilder für die Dokumentsitzung.

PdfConfig

Formate: PDF. Standard‑DPI: 200.

TypEigenschaftStandardVerhalten
boolDefaultRendertrueKompatibilitätsschalter. Die aktuelle Fabrik verwendet den nativen PDF‑Viewer.
boolAllowSearchfalseErstellen/Verwenden des PDF‑Textsuch‑Indexes. Erfordert die Lizenzfunktion Search für Anfragen.
boolAllowCopyfalseErlaubt Textauswahl‑/Kopier‑Operationen.
boolExtractHyperlinksfalseExtrahiert Link‑Rechtecke für Client‑Overlays.
intHyperlinksPageCount0Maximale Seitenzahl, die nach Links durchsucht wird; 0 bedeutet alle Seiten.
boolCompressImagesfalseKomprimiert eingebettete Bilder vor dem Rendern.
intCompressQuality100JPEG‑Qualität, die bei aktivierter Kompression verwendet wird.
boolResizeImagesfalseGrößenänderung eingebetteter Bilder vor dem Rendern.
intResizeResolution300Ziel‑DPI für skalierte Bilder.
boolCompressFastfalseBevorzugt den schnelleren, qualitativ geringeren Komprimierungspfad.
boolFixInvalidImagesfalseVersucht, ungültige eingebettete Bilder zu reparieren.
boolSplitSegmentsfalseFügt Wörter, die über Zeilenabschnitte hinweg getrennt wurden, wieder zusammen, um Suche/Kopie zu verbessern.

showHyperlinks in ViewerConfig steuert das Client‑Overlay, während ExtractHyperlinks die Server‑Extraktion steuert. Beide aktivieren.

WordConfig

Formate: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. Standard‑DPI: 200.

TypEigenschaftStandardVerhalten
boolDefaultRendertrueNative‑Word‑Render; false verwendet die PDF‑Umleitung.
PdfConfigPdfConfignew instanceEinstellungen, die vom PDF‑/Suchpfad verwendet werden.
DocPaperSizePaperSizeA4Ausgabepapiergröße. Verwenden Sie Custom mit Breite/Höhe.
intPaperWidth595Benutzerdefinierte Breite in Punkten.
intPaperHeight841Benutzerdefinierte Höhe in Punkten.
boolRemovePaperMarginfalseEntfernt Seitenränder des Dokuments.
boolRenderPageColortrueErhält die in Word konfigurierte Seitenfarbe; false rendert weiße Seiten.
boolExportPdfAfalseVerwendet archiviertes PDF/A im PDF‑Pfad.
Encoding?FileEncodingnullÜberschreibt die Quell‑Kodierung.
stringFontInfo""Informationen zur Schriftart‑Substitution.
string[]?FontFoldersnullZusätzliche Schriftverzeichnisse, besonders nützlich unter Linux/Containern.
boolAllowSearchfalseLeitet an PdfConfig.AllowSearch weiter.
boolAllowCopyfalseLeitet an PdfConfig.AllowCopy weiter.
TableAutoFitBehaviorAutoFitAllTablesNoneNone, AutoFitToContents oder AutoFitToWindow.

ExcelConfig

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

TypEigenschaftStandardVerhalten
boolDefaultRendertrueNative‑Tabellenblatt‑Render; false verwendet die PDF‑Umleitung.
PdfConfigPdfConfignew instanceEinstellungen für den PDF‑/Suchpfad.
ExcelPaperSizePaperSizePaperA4Ausgabepapiergröße.
doublePaperMargins0.25Seitenränder in Zoll.
boolPaperLandscapetrueQuerformat‑Tabellenblatt‑Render.
boolAutoFitContentsfalseAutomatisches Anpassen von Zeilenhöhen und Spaltenbreiten.
boolRemoveEmptyContenttrueAusgabe straffen, indem leerer Inhalt ausgeschlossen wird.
boolCalculateFormulatrueFormeln vor dem Rendern neu berechnen.
boolShowRowColumnHeaderstrueTabellenkopfzeilen einbeziehen.
boolExportPdfAfalseVerwendet PDF/A im PDF‑Pfad.
boolSplitWorksheetsfalseBehält Arbeitsblätter als separate Seitengruppen.
boolShowEmptyWorkSheetsfalseLeere Arbeitsblätter einbeziehen.
boolExportLandscapefalseErzwingt Export im Querformat.
boolExportOnePagePerSheetfalsePasst jedes Arbeitsblatt auf eine Ausgabeseite.
boolMemoryOptimizationPreferencetrueReduziert den Spitzen‑Speicherverbrauch, möglicherweise zulasten etwas Geschwindigkeit.
boolAutoTrimWorksheetRenderRangetrueRendert nur den sichtbaren genutzten Bereich, wenn kein expliziter Druckbereich existiert.
boolAutoTrimPreserveExistingPrintAreatrueErhält vom Arbeitsbuch definierte Druckbereiche während des automatischen Trimmens.
string?PrintAreanullExpliziter Bereich, z. B. "A1:Z100".
boolPrintGridlinesfalseDruckt Gitternetzlinien des Arbeitsblatts.
boolPrintHeadingsfalseDruckt Zeilen‑/Spaltenüberschriften.
List<string>SheetNamesemptyBeschränkt das Rendern auf benannte Arbeitsblätter.
CustomStyleCell?CustomStylesnullOptionale Überschreibungen für Datum/Dezimal/Ganzzahl‑Formatierung.
boolAllowSearchfalseLeitet an PdfConfig.AllowSearch weiter.
boolAllowCopyfalseLeitet an PdfConfig.AllowCopy weiter.

CustomStyleCell stellt CustomStyleDateTime, CustomStyleNumberDecimal und CustomStyleNumberInteger bereit, alle nullable strings.

new ExcelConfig() setzt SplitWorksheets auf false; das Öffnen einer Excel‑Datei ohne explizite Konfiguration verwendet den Formatkatalog, der es auf true setzt.

PptConfig

Formate: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. Standard‑DPI: 200.

TypEigenschaftStandardVerhalten
boolDefaultRendertrueNative‑Folien‑Render; false verwendet die PDF‑Umleitung.
boolFastLoadfalseVermeidet das Rendern der ersten Folie beim Öffnen; verwendet Metadaten und rendert bei Bedarf.
PdfConfigPdfConfignew instanceEinstellungen für das PDF‑/Suchverhalten.
stringFontInfo""Informationen zur Schriftart‑Substitution.
string[]?FontFoldersnullZusätzliche Schriftverzeichnisse.
boolAllowSearchfalseLeitet an PdfConfig.AllowSearch weiter.
boolAllowCopyfalseLeitet an PdfConfig.AllowCopy weiter.

Unter Linux und macOS erfordert das Präsentations‑Rendering mit der aktuellen Engine libgdiplus und System.Drawing.EnableUnixSupport=true. Installieren Sie die von der Präsentation verwendeten Schriften oder stellen Sie FontFolders bereit.

CadConfig

Formate: DWG, DXF, DGN. Standard‑DPI: 200.

TypEigenschaftStandardVerhalten
boolDefaultRendertrueNative‑CAD‑Render; false verwendet die PDF‑Umleitung.
PdfConfigPdfConfignew instancePDF‑Pfad‑Einstellungen.
boolExportPdfAfalseArchivierte PDF/A‑Ausgabe.
boolShowColortrueFarbe statt Monochrom.
boolWhiteBackgroundtrueWeißer Hintergrund statt schwarzem.
shortLineWidth25CAD‑Strichbreite.
boolShowLayoutsfalseRendern von Layout‑Tabs.
boolShowModeltrueRendern des Modellraums.
boolCheck3DSolidtrueVerarbeitung von 3D‑Solids.
boolExportAllLayoutsfalseExportiert alle Layouts und überschreibt die Modell-/Layout‑Auswahl.
boolLimitMinimumSizefalseWendet MinimumSize an.
intMinimumSize700Minimale Ausgabengröße in Pixeln.
boolLimitMaximumSizefalseWendet MaximumSize an.
intMaximumSize700Maximale Ausgabengröße in Pixeln.
boolShowAllLayoutsDgnfalseAlle DGN‑Layouts einbeziehen.
boolAutomaticLayoutScalingtrueSkaliert Layouts automatisch.
floatPdfMargins0.5PDF‑Rand in Zoll.
RenderQualityQualityImageLowRasterqualität: Low, Medium oder High.
RenderQualityQualityTextMediumTextqualität: Low, Medium oder High.

EmailConfig

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

TypEigenschaftStandardVerhalten
boolDefaultRendertrueNative‑E‑Mail‑Render; false verwendet die PDF‑Umleitung.
PdfConfigPdfConfignew instancePDF‑Pfad‑Einstellungen.
Encoding?EmailEncodingnullÜberschreibt die Nachrichten‑Kodierung.
Encoding?SubjectEncodingnullÜberschreibt die Betreff‑Kodierung.
Encoding?BodyEncodingnullÜberschreibt die Body‑Kodierung.
boolSkipExternalImagesfalseLädt keine remote referenzierten Bilder. Empfohlen für nicht vertrauenswürdige E‑Mails.
boolRemoveLastWhitePagefalseEntfernt eine nachfolgende leere Seite.
boolUseAntiAliasingfalseAnti‑Aliasing aktivieren.
boolUseHighQualityRenderingfalseBevorzugt saubereres, langsameres Rendering.
TimeSpan?TimeZoneOffsetnullÜberschreibt die für Datumsangaben verwendete Zeitzone.
boolForcePageSizefalseErzwingt feste Seitenabmessungen.

ImageConfig, TiffConfig und PsdConfig

ImageConfig deckt JPG, JPEG, JPE, PNG, BMP, GIF, ICO, EPS, TGA, WEBP, CDR, CMX, DNG, EMF, WMF, AVIF und SVG ab. Die Standard‑DPI ist 100.

ConfigPropertyDefaultVerhalten
ImageConfigMaxImagePixelSize3000Maximale Breite/Höhe. 0 bedeutet unbegrenzt; von Null verschiedene Werte unter 50 werden ignoriert.
ImageConfigTransparentPngtrueErhält PNG‑Transparenz; false verwendet einen weißen Hintergrund.
TiffConfigno additional propertiesDPI 200Verwendet nur BaseConfig; unterstützt mehrseitige TIFF.
PsdConfigMaxImagePixelSize3000Gleiche 0/Mindest‑50‑Validierung wie ImageConfig; Standard‑DPI ist 100.

DicomConfig

Formate: DCM, IMA. Effektive Standard‑DPI: 100. Erfordert das DICOM‑Plugin.

TypEigenschaftStandardVerhalten
intHorizontalResolution100 effectiveExplizite horizontale DPI; sonst ImageResolution, dann 100.
intVerticalResolution100 effectiveExplizite vertikale DPI; sonst ImageResolution, dann 100.
intAnimationFrameDelayMs100Mehrrahmen‑Animationsverzögerung; GIF‑Timing verwendet Einheiten von 10 ms.
ushortLoopCount00 schleift unendlich; positive Werte stoppen nach dieser Anzahl.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly, FramesOnly oder kombinierte Übersicht plus statische Frames.

TxtConfig

Format: TXT. Standard‑DPI: 200.

TypEigenschaftStandardVerhalten
DocPaperSizePaperSizeA4Ausgabepapiergröße.
Encoding?FileEncodingnullnull verwendet UTF-8.
stringFontInformation""Schriftinformationen für die Textdarstellung.

Verwenden Sie WordConfig, wenn Klartext ein umfangreicheres Seitenlayout‑Verhalten benötigt.

ProjectConfig

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

TypEigenschaftStandardVerhalten
boolDefaultRendertrueNative‑Gantt‑Bild; false verwendet einen textbasierten PDF‑Pfad.
PdfConfigPdfConfignew instancePDF‑Pfad‑Einstellungen.
boolExportPdfAtrueArchivierte PDF/A‑Ausgabe.
MppPaperSizePaperSizeLedgerProjekt‑Ausgabepapiergröße.
MppTimeScaleTimeScaleMonthsDays oder Months.
MppFormatPresentationFormatGanttChartGanttChart, TaskUsage, ResourceUsage, ResourceSheet oder TaskSheet.

Für exakte textkoordinatenbasierte Suche verwenden Sie DefaultRender = false.

VisioConfig

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

TypEigenschaftStandardVerhalten
boolDefaultRendertrueNative‑Diagram‑Render; false verwendet die PDF‑Umleitung.
PdfConfigPdfConfignew instancePDF‑Pfad‑Einstellungen.
boolExportPdfAtrueArchivierte PDF/A‑Ausgabe.

HtmlConfig, EpubConfig, MhtConfig und XpsConfig

Alle vier haben standardmäßig 200 DPI und stellen eine verschachtelte PdfConfig bereit.

ConfigFormateDefaultRenderZusätzliche Eigenschaften/Verhalten
HtmlConfigHTML, HTMtrueNative‑Render; false für einen textbasierten PDF‑Suchpfad verwenden.
EpubConfigEPUBtrueNative‑Render; false verwendet PDF.
MhtConfigMHT, MHTMLtrue on the class; false in the automatic catalogDer normale Öffnungsvorgang ohne Konfiguration verwendet die durchsuchbare PDF‑Umleitung. Eine explizit konstruierte Standardinstanz rendert nativ.
XpsConfigXPSfalseVerwendet standardmäßig den PDF‑Pfad; true für native Bilddarstellung setzen.

Konfigurationsbeispiele nach Familie

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

Auswahl nach Dateierweiterung

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

War diese Seite hilfreich?