Formatkonfigurationen

Vollständige Rendering-Optionen pro Format

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

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 dann 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

TypEigenschaftStandardVerhalten
intImageResolution00 verwendet den Formatstandard. Gültiger expliziter Bereich ist 25‑300 DPI; ungültige Zuweisungen werden ignoriert.
stringDocumentCulture""Gebietsschema für Datums- und Zahlenangaben. Nichtleere Werte werden getrimmt; leere Zuweisungen werden ignoriert.
stringPassword""Passwort für geschütztes Dokument. DocOptions.Password wird hier automatisch kopiert.
boolShowUItrueKompatibilitätseigenschaft; der aktuelle Renderer verwendet sie nicht, um die Browser‑Symbolleiste zu steuern.
boolCachePagestrueCache für gerenderte Seitenbilder während der Dokumentsitzung.

PdfConfig

Formate: PDF. Standard‑DPI: 200.

TypEigenschaftStandardVerhalten
boolDefaultRendertrueKompatibilitätsschalter. Die aktuelle Fabrik verwendet den nativen PDF‑Betrachter.
boolAllowSearchfalseErstelle/verwendet den PDF‑Textsuch‑Index. Erfordert die Lizenzfunktion Search für Anfragen.
boolAllowCopyfalseErmöglicht Textauswahl‑/Kopier‑Operationen.
boolExtractHyperlinksfalseExtrahiert Link‑Rechtecke für Client‑Overlays.
intHyperlinksPageCount0Maximale Anzahl von Seiten, die nach Links durchsucht werden; 0 bedeutet jede Seite.
boolCompressImagesfalseKomprimiere eingebettete Bilder vor dem Rendern.
intCompressQuality100JPEG‑Qualität, die verwendet wird, wenn Kompression aktiviert ist.
boolResizeImagesfalseGröße eingebetteter Bilder vor dem Rendern ändern.
intResizeResolution300Ziel‑DPI für skalierte Bilder.
boolCompressFastfalseBevorzuge den schnelleren, qualitativ niedrigeren Kompressionspfad.
boolFixInvalidImagesfalseVersuche, ungültige eingebettete Bilder zu reparieren.
boolSplitSegmentsfalseFüge 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.

TypEigenschaftStandardVerhalten
boolDefaultRendertrueNative Word-Render; false verwendet die PDF‑Umleitung.
PdfConfigPdfConfignew instanceEinstellungen, 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.
boolRenderPageColortrueErhält 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 Schriftartsubstitution.
string[]?FontFoldersnullZusätzliche Schriftartverzeichnisse — nützlich auf einem Server, dem die vom Dokument verwendeten Schriftarten fehlen.
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 Tabellenrendering; false verwendet die PDF‑Umleitung.
PdfConfigPdfConfigneue InstanzEinstellungen für den PDF‑/Suchpfad.
ExcelPaperSizePaperSizePaperA4Ausgabe‑Papiergröße.
doublePaperMargins0.25Seitenränder in Zoll.
boolPaperLandscapetrueQuerformat‑Tabellenrendering.
boolAutoFitContentsfalseAutomatisches Anpassen von Zeilenhöhen und Spaltenbreiten.
boolRemoveEmptyContenttrueAusgabe straffen, indem leerer Inhalt ausgeschlossen wird.
boolCalculateFormulatrueFormeln vor dem Rendern neu berechnen.
boolShowRowColumnHeaderstrueTabellenkopfzeilen einbeziehen.
boolExportPdfAfalsePDF/A im PDF‑Pfad verwenden.
boolSplitWorksheetsfalseArbeitsblätter als separate Seitengruppen behalten.
boolShowEmptyWorkSheetsfalseLeere Arbeitsblätter einbeziehen.
boolExportLandscapefalseQuerformat‑Export erzwingen.
boolExportOnePagePerSheetfalseJedes Arbeitsblatt auf eine Ausgabeseite anpassen.
boolMemoryOptimizationPreferencetrueSpitzenverbrauch reduzieren, möglicherweise auf etwas Geschwindigkeit verzichten.
boolAutoTrimWorksheetRenderRangetrueNur den sichtbaren benutzten Bereich rendern, wenn kein expliziter Druckbereich existiert.
boolAutoTrimPreserveExistingPrintAreatrueArbeitsbuchdefinierte Druckbereiche während des automatischen Trimmens beibehalten.
string?PrintAreanullExpliziter Bereich wie "A1:Z100".
boolPrintGridlinesfalseGitternetzlinien des Arbeitsblatts drucken.
boolPrintHeadingsfalseZeilen‑/Spaltenüberschriften drucken.
List<string>SheetNamesleerRendern auf benannte Arbeitsblätter beschränken.
CustomStyleCell?CustomStylesnullOptionale Überschreibungen für Datums‑/Dezimal‑/Ganzzahlformatierung.
boolAllowSearchfalseDelegiert an PdfConfig.AllowSearch.
boolAllowCopyfalseDelegiert an PdfConfig.AllowCopy.

CustomStyleCell stellt CustomStyleDateTime, CustomStyleNumberDecimal und CustomStyleNumberInteger bereit, alle 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 Folienrendering; false verwendet die PDF‑Umleitung.
boolFastLoadfalseVermeiden Sie das Rendern der ersten Folie beim Öffnen; verwenden Sie Metadaten und rendern Sie bei Bedarf.
PdfConfigPdfConfigneue InstanzEinstellungen für PDF‑/Suchverhalten.
stringFontInfo""Informationen zur Schriftartsubstitution.
string[]?FontFoldersnullZusätzliche Schriftartverzeichnisse.
boolAllowSearchfalseDelegiert an PdfConfig.AllowSearch.
boolAllowCopyfalseDelegiert an PdfConfig.AllowCopy.

Installieren Sie die Schriften, die die Präsentationen auf dem Server verwenden, oder verweisen Sie FontFolders auf einen Ordner, der sie enthält. Ein Windows Server ohne Office hat deutlich weniger Schriften als ein Entwicklungsrechner, und fehlende Schriften werden ohne Fehlermeldung substituiert.

CadConfig

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

TypEigenschaftStandardVerhalten
boolDefaultRendertrueNative CAD‑Rendering; false verwendet die PDF‑Umleitung.
PdfConfigPdfConfigneue InstanzPDF‑Pfadeinstellungen.
boolExportPdfAfalseArchiviertes PDF/A‑Ausgabe.
boolShowColortrueFarbe statt Schwarzweiß.
boolWhiteBackgroundtrueWeißer Hintergrund statt schwarzem.
shortLineWidth25CAD‑Strichbreite.
boolShowLayoutsfalseLayout‑Registerkarten rendern.
boolShowModeltrueModellraum rendern.
boolCheck3DSolidtrue3D‑Körper verarbeiten.
boolExportAllLayoutsfalseAlle Layouts exportieren, überschreibe Modell‑/Layoutauswahl.
boolLimitMinimumSizefalseWendet MinimumSize an.
intMinimumSize700Minimale Ausgabengröße in Pixeln.
boolLimitMaximumSizefalseWendet MaximumSize an.
intMaximumSize700Maximale Ausgabengröße in Pixeln.
boolShowAllLayoutsDgnfalseAlle DGN‑Layout einbeziehen.
boolAutomaticLayoutScalingtrueLayout automatisch skalieren.
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.
PdfConfigPdfConfigneue InstanzPDF‑Pfad‑Einstellungen.
Encoding?EmailEncodingnullÜberschreibe Nachrichtenkodierung.
Encoding?SubjectEncodingnullÜberschreibe Betreffkodierung.
Encoding?BodyEncodingnullÜberschreibe Körperkodierung.
boolSkipExternalImagesfalseLade nicht remote referenzierte Bilder. Empfohlen für nicht vertrauenswürdige E‑Mails.
boolRemoveLastWhitePagefalseEntferne eine nachfolgende leere Seite.
boolUseAntiAliasingfalseAktiviere Kantenglättung.
boolUseHighQualityRenderingfalseBevorzuge saubereres, langsameres Rendering.
TimeSpan?TimeZoneOffsetnullÜberschreibe die für Daten verwendete Zeitzone.
boolForcePageSizefalseErzwinge 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. Sein Standard‑DPI ist 100.

KonfigurationEigenschaftStandardVerhalten
ImageConfigMaxImagePixelSize3000Maximale Breite/Höhe. 0 bedeutet unbegrenzt; von Null verschiedene Werte unter 50 werden ignoriert.
ImageConfigTransparentPngtrueErhalte PNG-Transparenz; 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.

DicomConfig

Formate: DCM, IMA. Standard wirksamer DPI: 100. Benötigt das DICOM‑Plugin. In diesem Paket werden DICOM‑Dateien vollständig gerendert, aber technische Metadaten sind nicht verfügbar — siehe DICOM‑Plugin.

TypEigenschaftStandardVerhalten
intHorizontalResolution100 wirksamExplizites horizontales DPI; sonst ImageResolution, dann 100.
intVerticalResolution100 wirksamExplizites vertikales DPI; sonst ImageResolution, dann 100.
intAnimationFrameDelayMs100Multiframe‑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.

Verwende 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.
PdfConfigPdfConfigneue InstanzPDF‑Pfad‑Einstellungen.
boolExportPdfAtrueArchiv‑PDF/A‑Ausgabe.
MppPaperSizePaperSizeLedgerProjekt‑Ausgabepapiergröße.
MppTimeScaleTimeScaleMonthsDays oder Months.
MppFormatPresentationFormatGanttChartGanttChart, TaskUsage, ResourceUsage, ResourceSheet, oder TaskSheet.

Für eine exakte Textkoordinatensuche verwende 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.
PdfConfigPdfConfigneue InstanzPDF‑Pfad‑Einstellungen.
boolExportPdfAtrueArchiv‑PDF/A‑Ausgabe.

HtmlConfig, EpubConfig, MhtConfig, und XpsConfig

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

KonfigurationFormateDefaultRenderZusätzliche Eigenschaften/Verhalten
HtmlConfigHTML, HTMtrueNative Render; verwende false für einen textbasierten PDF‑Suchpfad.
EpubConfigEPUBtrueNative Render; 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 native Bilddarstellung.

Konfigurationsbeispiele nach Familie

csharp
BaseConfig[] configs =
{
    new PdfConfig
    {
        AllowSearch = true,
        ExtractHyperlinks = true,
        HyperlinksPageCount = 0
    },
    new WordConfig
    {
        PaperSize = DocPaperSize.A4,
        RemovePaperMargin = false,
        FontFolders = new[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
        AllowSearch = true
    },
    new ExcelConfig
    {
        PaperLandscape = true,
        AutoFitContents = true,
        CalculateFormula = true,
        SplitWorksheets = false,
        PrintGridlines = false
    },
    new PptConfig
    {
        FastLoad = true,
        FontFolders = new[] { HostingEnvironment.MapPath("~/App_Data/Fonts") },
        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)
{
    switch (extUpper)
    {
        case ".DOC": case ".DOCX": case ".DOT": case ".DOTX": case ".ODT":
            return new WordConfig
            {
                AutoFitAllTables = WordConfig.TableAutoFitBehavior.AutoFitToWindow,
                PaperSize = DocPaperSize.Tabloid,
                PdfConfig = new PdfConfig { ExtractHyperlinks = true, HyperlinksPageCount = 5, AllowCopy = true }
            };
        case ".PDF":
            return new PdfConfig { AllowSearch = true, AllowCopy = true };
        case ".XLS": case ".XLSX": case ".ODS": case ".CSV":
            return new ExcelConfig { AllowSearch = true, AllowCopy = true };
        case ".DCM": case ".IMA":
            return new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames };
        // DefaultRender = false → PDF-Umleitung → pixelgenaue native Textsuche
        case ".HTML": case ".HTM":
            return new HtmlConfig { DefaultRender = false };
        case ".EML": case ".EMLX": case ".MSG":
            return new EmailConfig { DefaultRender = false };
        default:
            return null; // auf die Standardkonfiguration des Formats zurückfallen
    }
}

War diese Seite hilfreich?