Formatkonfigurationen

Vollständige rendereinstellungen pro Format

Jedes Dokument wird mit einer BaseConfig-Implementierung geöffnet. Übergeben Sie eine an OpenDocumentAsync oder lassen Sie den Formatkatalog seine Vorgabe 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 umleiten können, stellen ein verschachteltes PdfConfig bereit. In WordConfig, ExcelConfig und PptConfig sind AllowSearch und AllowCopy Komforteigenschaften, die das verschachtelte PdfConfig lesen und schreiben.

DefaultRender = true wählt den nativen Format-Renderer aus. Bei Formaten mit einer PDF-Umleitung konvertiert false zuerst in ein PDF im Speicher und verwendet anschließend den PDF‑Betrachter. Dieser Pfad ist häufig nützlich für die Suche nach Textkoordinaten, 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

TypePropertyDefaultBehavior
intImageResolution00 verwendet den Formatstandard. 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, um die Browser‑Symbolleiste zu steuern.
boolCachePagestrueZwischenspeichern gerenderter Seitenbilder für die Dokumentsitzung.

PdfConfig

Formate: PDF. Standard‑DPI: 200.

TypePropertyDefaultBehavior
boolDefaultRendertrueKompatibilitätsschalter. Die aktuelle Fabrik verwendet den nativen PDF‑Betrachter.
boolAllowSearchfalseErstellen/Verwenden des PDF‑Textsuchindex. Erfordert die Lizenzfähigkeit Search für Anfragen.
boolAllowCopyfalseErlaubt Textauswahl‑/Kopieroperationen.
boolExtractHyperlinksfalseExtrahiert Link‑Rechtecke für Client‑Overlays.
intHyperlinksPageCount0Maximale Seitenzahl, die für Links gescannt wird; 0 bedeutet jede Seite.
boolCompressImagesfalseKomprimiert eingebettete Bilder vor dem Rendern.
intCompressQuality100JPEG‑Qualität, die bei aktivierter Kompression verwendet wird.
boolResizeImagesfalseGröße eingebetteter Bilder vor dem Rendern ändern.
intResizeResolution300Ziel‑DPI für skalierte Bilder.
boolCompressFastfalseBevorzugt den schnelleren, qualitativ niedrigeren Komprimierungspfad.
boolFixInvalidImagesfalseVersucht, ungültige eingebettete Bilder zu reparieren.
boolSplitSegmentsfalseFügt Wörter, die über Zeilenabschnitte hinweg getrennt wurden, wieder zusammen, um Suche/Kopieren 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.

TypePropertyDefaultBehavior
boolDefaultRendertrueNative Word‑Render; false verwendet die PDF‑Umleitung.
PdfConfigPdfConfigneue InstanzEinstellungen, die vom PDF‑/Suchpfad verwendet werden.
DocPaperSizePaperSizeA4Ausgabe-Papiergröße. Verwenden Sie Custom mit Breite/Höhe.
intPaperWidth595Benutzerdefinierte Breite in Punkten.
intPaperHeight841Benutzerdefinierte Höhe in Punkten.
boolRemovePaperMarginfalseEntfernt Seitenränder des Dokuments.
boolRenderPageColortrueBewahrt die in Word konfigurierte Seitenfarbe; false rendert weiße Seiten.
boolExportPdfAfalseVerwendet archiviertes PDF/A im PDF‑Pfad.
Encoding?FileEncodingnullÜberschreibt die Quellkodierung.
stringFontInfo""Informationen zur Schriftartersetzung.
string[]?FontFoldersnullZusätzliche Schriftartverzeichnisse, besonders nützlich unter Linux/Containern.
boolAllowSearchfalseDelegiert an PdfConfig.AllowSearch.
boolAllowCopyfalseDelegiert an PdfConfig.AllowCopy.
TableAutoFitBehaviorAutoFitAllTablesNoneNone, AutoFitToContents oder AutoFitToWindow.

ExcelConfig

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

TypEigenschaftStandardVerhalten
boolDefaultRendertrueNative Tabellenblatt‑Renderung; false verwendet die PDF‑Umleitung.
PdfConfigPdfConfigneue InstanzEinstellungen für den PDF‑/Suchpfad.
ExcelPaperSizePaperSizePaperA4Ausgabepapiergröße.
doublePaperMargins0.25Seitenränder in Zoll.
boolPaperLandscapetrueQuerformat‑Tabellenblatt‑Renderung.
boolAutoFitContentsfalseZeilenhöhen und Spaltenbreiten automatisch anpassen.
boolRemoveEmptyContenttrueAusgabe komprimieren, indem leerer Inhalt ausgeschlossen wird.
boolCalculateFormulatrueFormeln vor dem Rendern neu berechnen.
boolShowRowColumnHeaderstrueTabellenkopfzeilen einbeziehen.
boolExportPdfAfalsePDF/A auf dem PDF‑Pfad verwenden.
boolSplitWorksheetsfalseArbeitsblätter als separate Seiten‑Gruppen behalten.
boolShowEmptyWorkSheetsfalseLeere Arbeitsblätter einbeziehen.
boolExportLandscapefalseExport im Querformat erzwingen.
boolExportOnePagePerSheetfalseJedes Arbeitsblatt auf eine Ausgabeseite anpassen.
boolMemoryOptimizationPreferencetrueSpitzen‑Speicherverbrauch reduzieren, ggf. zulasten etwas Geschwindigkeit.
boolAutoTrimWorksheetRenderRangetrueNur den sichtbaren benutzten Bereich rendern, wenn kein expliziter Druckbereich existiert.
boolAutoTrimPreserveExistingPrintAreatrueArbeitsbuchdefinierte Druckbereiche beim automatischen Trimmen beibehalten.
string?PrintAreanullExpliziter Bereich wie "A1:Z100".
boolPrintGridlinesfalseRasterlinien des Arbeitsblatts drucken.
boolPrintHeadingsfalseZeilen‑/Spaltenüberschriften drucken.
List<string>SheetNamesleerRendering auf benannte Arbeitsblätter beschränken.
CustomStyleCell?CustomStylesnullOptionale Datums‑/Dezimal‑/Ganzzahl‑Formatierungs‑Überschreibungen.
boolAllowSearchfalseDelegiert an PdfConfig.AllowSearch.
boolAllowCopyfalseDelegiert an PdfConfig.AllowCopy.

CustomStyleCell stellt CustomStyleDateTime, CustomStyleNumberDecimal und CustomStyleNumberInteger bereit, alles nullable Zeichenketten.

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

PptConfig

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

TypEigenschaftStandardVerhalten
boolDefaultRendertrueNative Folien‑Renderung; false verwendet die PDF‑Umleitung.
boolFastLoadfalseVermeidet das Rendern der ersten Folie beim Öffnen; Metadaten verwenden und bei Bedarf rendern.
PdfConfigPdfConfigneue InstanzEinstellungen für PDF‑/Suchverhalten.
stringFontInfo""Informationen zur Schriftart‑Substitution.
string[]?FontFoldersnullZusätzliche Schriftart‑Verzeichnisse.
boolAllowSearchfalseDelegiert an PdfConfig.AllowSearch.
boolAllowCopyfalseDelegiert an PdfConfig.AllowCopy.

Unter Linux und macOS erfordert die Präsentationsdarstellung 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‑Renderung; false verwendet die PDF‑Umleitung.
PdfConfigPdfConfigneue InstanzPDF‑Pfad‑Einstellungen.
boolExportPdfAfalseArchiv‑PDF/A‑Ausgabe.
boolShowColortrueFarbe statt Monochrom.
boolWhiteBackgroundtrueWeiß statt schwarzem Hintergrund.
shortLineWidth25CAD‑Strichbreite.
boolShowLayoutsfalseLayout‑Registerkarten rendern.
boolShowModeltrueModellraum rendern.
boolCheck3DSolidtrue3D‑Körper verarbeiten.
boolExportAllLayoutsfalseAlle Layouts exportieren, überschreibt Modell‑/Layout‑Auswahl.
boolLimitMinimumSizefalseMinimumSize anwenden.
intMinimumSize700Minimale Ausgabengröße in Pixeln.
boolLimitMaximumSizefalseMaximumSize anwenden.
intMaximumSize700Maximale Ausgabengröße in Pixeln.
boolShowAllLayoutsDgnfalseAlle DGN‑Layouts einbeziehen.
boolAutomaticLayoutScalingtrueLayouts automatisch skalieren.
floatPdfMargins0.5PDF‑Rand in Zoll.
RenderQualityQualityImageLowRasterqualität: Low, Medium oder High.
RenderQualityQualityTextMediumTextqualität: Low, Medium oder High.

E‑Mail‑Konfiguration

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

TypEigenschaftStandardVerhalten
boolDefaultRendertrueNativ E‑Mail‑Render; false verwendet die PDF‑Umleitung.
PdfConfigPdfConfigneue InstanzPDF‑Pfad‑Einstellungen.
Encoding?EmailEncodingnullÜberschreibe Nachrichtenkodierung.
Encoding?SubjectEncodingnullÜberschreibe Betreffkodierung.
Encoding?BodyEncodingnullÜberschreibe Körperkodierung.
boolSkipExternalImagesfalseLade keine remote referenzierten Bilder. Empfohlen für nicht vertrauenswürdige E‑Mails.
boolRemoveLastWhitePagefalseEntferne eine nachfolgende leere Seite.
boolUseAntiAliasingfalseAnti‑Aliasing aktivieren.
boolUseHighQualityRenderingfalseBevorzuge saubereres, langsameres Rendering.
TimeSpan?TimeZoneOffsetnullÜberschreibe die für Daten verwendete Zeitzone.
boolForcePageSizefalseErzwinge feste Seitenabmessungen.

BildKonfiguration, TiffKonfiguration und PsdKonfiguration

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

KonfigurationEigenschaftStandardVerhalten
ImageConfigMaxImagePixelSize3000Maximale Breite/Höhe. 0 bedeutet unbegrenzt; von Null verschiedene Werte unter 50 werden ignoriert.
ImageConfigTransparentPngtruePNG‑Transparenz erhalten; false verwendet einen weißen Hintergrund.
TiffConfigkeine zusätzlichen EigenschaftenDPI 200Verwendet nur BaseConfig; unterstützt mehrseitiges TIFF.
PsdConfigMaxImagePixelSize3000Gleiche 0/minimum‑50‑Validierung wie ImageConfig; Standard‑DPI ist 100.

DicomKonfiguration

Formate: DCM, IMA. Standard‑effektiver DPI: 100. Benötigt das DICOM‑Plugin.

TypEigenschaftStandardVerhalten
intHorizontalResolution100 effektivExpliziter horizontaler DPI; sonst ImageResolution, dann 100.
intVerticalResolution100 effektivExpliziter vertikaler 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.

TxtKonfiguration

Format: TXT. Standard‑DPI: 200.

TypEigenschaftStandardVerhalten
DocPaperSizePaperSizeA4Ausgabe‑Papiergröße.
Encoding?FileEncodingnullnull verwendet UTF‑8.
stringFontInformation""Schriftinformationen für die Textdarstellung.

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

ProjektKonfiguration

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

TypEigenschaftStandardVerhalten
boolDefaultRendertrueNativ Gantt‑Bild; false verwendet einen textbasierten PDF‑Pfad.
PdfConfigPdfConfigneue InstanzPDF‑Pfad‑Einstellungen.
boolExportPdfAtrueArchiv‑PDF/A‑Ausgabe.
MppPaperSizePaperSizeLedgerProjekt‑Ausgabe‑Papiergröße.
MppTimeScaleTimeScaleMonthsDays oder Months.
MppFormatPresentationFormatGanttChartGanttChart, TaskUsage, ResourceUsage, ResourceSheet oder TaskSheet.

Für eine exakte Text‑Koordinatensuche verwende DefaultRender = false.

VisioKonfiguration

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

TypEigenschaftStandardVerhalten
boolDefaultRendertrueNativ Diagram‑Render; false verwendet die PDF‑Umleitung.
PdfConfigPdfConfigneue InstanzPDF‑Pfad‑Einstellungen.
boolExportPdfAtrueArchiv‑PDF/A‑Ausgabe.

HtmlKonfiguration, EpubKonfiguration, MhtKonfiguration und XpsKonfiguration

Alle vier haben standardmäßig 200 DPI und stellen ein verschachteltes PdfConfig bereit.

KonfigurationFormateDefaultRenderZusätzliche Eigenschaften/Verhalten
HtmlConfigHTML, HTMtrueNativ Darstellung; verwende false für einen textbasierten PDF‑Suchpfad.
EpubConfigEPUBtrueNativ; false verwendet PDF.
MhtConfigMHT, MHTMLtrue in der Klasse; false im automatischen KatalogDas normale Öffnen ohne Konfiguration verwendet die durchsuchbare PDF‑Umleitung. Eine explizit konstruierte Standardinstanz rendert nativ.
XpsConfigXPSfalseVerwendet standardmäßig den PDF‑Pfad; setze true für nativ Bilddarstellung.

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 pro Erweiterung

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-Weiterleitung → pixelgenaue native Textsuche
    ".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
    ".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
    _ => null // auf die Standardkonfiguration des Formats zurückfallen
};

War diese Seite hilfreich?