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 Namespace Doconut.
Dieser einzelne Namespace ist neu. Die vorherige .NET‑Standard‑Bibliothek verteilte diese Typen auf Doconut.Configs, Doconut.Configs.View und Doconut.Models. Die Typnamen haben sich nicht geändert – in den meisten Dateien besteht die gesamte Änderung darin, zwei using‑Zeilen zu entfernen. Siehe den Migrationsleitfaden.
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 ein verschachteltes PdfConfig bereit. In WordConfig, ExcelConfig und PptConfig sind AllowSearch und AllowCopy Komfort‑Eigenschaften, die das verschachtelte PdfConfig lesen bzw. schreiben.
DefaultRender = true wählt den nativen Format‑Renderer. Bei Formaten mit PDF‑Umleitung bewirkt false, dass zunächst ein In‑Memory‑PDF erzeugt wird und anschließend der PDF‑Viewer verwendet wird. Dieser Pfad ist häufig nützlich für textbasierte Koordinatensuche, 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 erzeugt ExcelConfig mit SplitWorksheets = true und MhtConfig mit DefaultRender = false.
BaseConfig
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
int | ImageResolution | 0 | 0 verwendet den Format‑Standard. Gültiger expliziter Bereich ist 25‑300 DPI; ungültige Zuweisungen werden ignoriert. |
string | DocumentCulture | "" | Gebietsschema für Datums‑ und Zahlenformatierung. Nicht‑leere Werte werden getrimmt; leere Zuweisungen werden ignoriert. |
string | Password | "" | Passwort für geschützte Dokumente. DocOptions.Password wird hier automatisch kopiert. |
bool | ShowUI | true | Kompatibilitätseigenschaft; der aktuelle Renderer nutzt sie nicht zur Steuerung der Browser‑Toolbar. |
bool | CachePages | true | Zwischenspeichern gerenderter Seitenbilder für die Dokument‑Sitzung. |
PdfConfig
Formate: PDF. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Kompatibilitätsschalter. Die aktuelle Fabrik verwendet den nativen PDF‑Viewer. |
bool | AllowSearch | false | PDF‑Text‑Suchindex erstellen/verwenden. Erfordert die Lizenz‑Fähigkeit Search für Anfragen. |
bool | AllowCopy | false | Text‑Auswahl‑/Kopier‑Operationen zulassen. |
bool | ExtractHyperlinks | false | Link‑Rechtecke für Client‑Overlays extrahieren. |
int | HyperlinksPageCount | 0 | Maximale zu scannende Seiten für Links; 0 bedeutet alle Seiten. |
bool | CompressImages | false | Eingebettete Bilder vor dem Rendern komprimieren. |
int | CompressQuality | 100 | JPEG‑Qualität, wenn Kompression aktiviert ist. |
bool | ResizeImages | false | Eingebettete Bilder vor dem Rendern skalieren. |
int | ResizeResolution | 300 | Ziel‑DPI für skalierte Bilder. |
bool | CompressFast | false | Schnelleren, qualitativ geringeren Kompressionspfad bevorzugen. |
bool | FixInvalidImages | false | Versuch, ungültige eingebettete Bilder zu reparieren. |
bool | SplitSegments | false | Wörter, die über Zeilen‑Segmente hinweg getrennt sind, wieder zusammenführen, um Suche/Kopie zu verbessern. |
showHyperlinks in ViewerConfig steuert das Client‑Overlay, während ExtractHyperlinks die Server‑Extraktion regelt. Beide aktivieren.
WordConfig
Formate: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Nativer Word‑Render; false nutzt die PDF‑Umleitung. |
PdfConfig | PdfConfig | neue Instanz | Einstellungen für den PDF‑/Such‑Pfad. |
DocPaperSize | PaperSize | A4 | Ausgabepapiergröße. Verwenden Sie Custom mit Breite/Höhe. |
int | PaperWidth | 595 | Benutzerdefinierte Breite in Punkten. |
int | PaperHeight | 841 | Benutzerdefinierte Höhe in Punkten. |
bool | RemovePaperMargin | false | Seitenränder des Dokuments entfernen. |
bool | RenderPageColor | true | Word‑konfigurierte Seitenfarbe beibehalten; false rendert weiße Seiten. |
bool | ExportPdfA | false | Archiv‑PDF/A im PDF‑Pfad verwenden. |
Encoding? | FileEncoding | null | Quell‑Encoding überschreiben. |
string | FontInfo | "" | Informationen zur Schriftart‑Substitution. |
string[]? | FontFolders | null | Zusätzliche Schriftordner, besonders nützlich unter Linux/Containern. |
bool | AllowSearch | false | Delegiert an PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delegiert an PdfConfig.AllowCopy. |
TableAutoFitBehavior | AutoFitAllTables | None | None, AutoFitToContents oder AutoFitToWindow. |
ExcelConfig
Formate: XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Nativer Blatt‑Render; false nutzt die PDF‑Umleitung. |
PdfConfig | PdfConfig | neue Instanz | Einstellungen für den PDF‑/Such‑Pfad. |
ExcelPaperSize | PaperSize | PaperA4 | Ausgabepapiergröße. |
double | PaperMargins | 0.25 | Seitenränder in Zoll. |
bool | PaperLandscape | true | Querformat‑Blattrendering. |
bool | AutoFitContents | false | Zeilenhöhen und Spaltenbreiten automatisch anpassen. |
bool | RemoveEmptyContent | true | Ausgabe straffen, indem leere Inhalte ausgeschlossen werden. |
bool | CalculateFormula | true | Formeln vor dem Rendern neu berechnen. |
bool | ShowRowColumnHeaders | true | Tabellen‑Header einbeziehen. |
bool | ExportPdfA | false | PDF/A im PDF‑Pfad verwenden. |
bool | SplitWorksheets | false | Arbeitsblätter als separate Seitengruppen behalten. |
bool | ShowEmptyWorkSheets | false | Leere Arbeitsblätter einbeziehen. |
bool | ExportLandscape | false | Export im Querformat erzwingen. |
bool | ExportOnePagePerSheet | false | Jedes Arbeitsblatt auf eine Ausgabeseite skalieren. |
bool | MemoryOptimizationPreference | true | Spitzen‑Speicherverbrauch reduzieren, ggf. zulasten etwas Geschwindigkeit. |
bool | AutoTrimWorksheetRenderRange | true | Nur den sichtbaren benutzten Bereich rendern, wenn kein expliziter Druckbereich existiert. |
bool | AutoTrimPreserveExistingPrintArea | true | Beim Auto‑Trim vorhandene, im Arbeitsbuch definierte Druckbereiche beibehalten. |
string? | PrintArea | null | Expliziter Bereich, z. B. "A1:Z100". |
bool | PrintGridlines | false | Rasterlinien des Arbeitsblatts drucken. |
bool | PrintHeadings | false | Zeilen‑/Spalten‑Überschriften drucken. |
List<string> | SheetNames | leer | Rendering auf benannte Arbeitsblätter beschränken. |
CustomStyleCell? | CustomStyles | null | Optionale Overrides für Datums‑/Dezimal‑/Ganzzahl‑Formatierung. |
bool | AllowSearch | false | Delegiert an PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delegiert an PdfConfig.AllowCopy. |
CustomStyleCell stellt CustomStyleDateTime, CustomStyleNumberDecimal und CustomStyleNumberInteger bereit, alles nullable‑Strings.
new ExcelConfig() setzt SplitWorksheets auf false; das Öffnen einer Excel‑Datei ohne explizite Konfiguration nutzt den Formatkatalog, der den Wert auf true setzt.
PptConfig
Formate: PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Nativer Folien‑Render; false nutzt die PDF‑Umleitung. |
bool | FastLoad | false | Beim Öffnen die erste Folie nicht rendern; Metadaten verwenden und bei Bedarf rendern. |
PdfConfig | PdfConfig | neue Instanz | Einstellungen für PDF‑/Such‑Verhalten. |
string | FontInfo | "" | Informationen zur Schriftart‑Substitution. |
string[]? | FontFolders | null | Zusätzliche Schriftordner. |
bool | AllowSearch | false | Delegiert an PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delegiert an PdfConfig.AllowCopy. |
Unter Linux und macOS erfordert die aktuelle Rendering‑Engine libgdiplus und System.Drawing.EnableUnixSupport=true. Installieren Sie die für die Präsentation genutzten Schriften oder stellen Sie FontFolders bereit.
CadConfig
Formate: DWG, DXF, DGN. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Nativer CAD‑Render; false nutzt die PDF‑Umleitung. |
PdfConfig | PdfConfig | neue Instanz | PDF‑Pfad‑Einstellungen. |
bool | ExportPdfA | false | Archiv‑PDF/A‑Ausgabe. |
bool | ShowColor | true | Farbe statt Monochrom. |
bool | WhiteBackground | true | Weißer Hintergrund statt Schwarz. |
short | LineWidth | 25 | Strichbreite für CAD. |
bool | ShowLayouts | false | Layout‑Tabs rendern. |
bool | ShowModel | true | Modell‑Raum rendern. |
bool | Check3DSolid | true | 3D‑Solids verarbeiten. |
bool | ExportAllLayouts | false | Alle Layouts exportieren, überschreibt Modell/Layout‑Auswahl. |
bool | LimitMinimumSize | false | MinimumSize anwenden. |
int | MinimumSize | 700 | Minimale Ausgabebreite in Pixeln. |
bool | LimitMaximumSize | false | MaximumSize anwenden. |
int | MaximumSize | 700 | Maximale Ausgabebreite in Pixeln. |
bool | ShowAllLayoutsDgn | false | Alle DGN‑Layouts einbeziehen. |
bool | AutomaticLayoutScaling | true | Layouts automatisch skalieren. |
float | PdfMargins | 0.5 | PDF‑Rand in Zoll. |
RenderQuality | QualityImage | Low | Raster‑Qualität: Low, Medium oder High. |
RenderQuality | QualityText | Medium | Text‑Qualität: Low, Medium oder High. |
EmailConfig
Formate: EML, EMLX, MSG. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Nativer E‑Mail‑Render; false nutzt die PDF‑Umleitung. |
PdfConfig | PdfConfig | neue Instanz | PDF‑Pfad‑Einstellungen. |
Encoding? | EmailEncoding | null | Nachrichten‑Encoding überschreiben. |
Encoding? | SubjectEncoding | null | Betreff‑Encoding überschreiben. |
Encoding? | BodyEncoding | null | Body‑Encoding überschreiben. |
bool | SkipExternalImages | false | Extern referenzierte Bilder nicht laden. Empfohlen für nicht vertrauenswürdige E‑Mails. |
bool | RemoveLastWhitePage | false | Letzte leere Seite entfernen. |
bool | UseAntiAliasing | false | Anti‑Aliasing aktivieren. |
bool | UseHighQualityRendering | false | Saubereres, langsameres Rendering bevorzugen. |
TimeSpan? | TimeZoneOffset | null | Zeitzonen‑Offset für Datumsangaben überschreiben. |
bool | ForcePageSize | false | Feste Seitenabmessungen erzwingen. |
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. Seine Standard‑DPI ist 100.
| Konfiguration | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | Maximale Breite/Höhe. 0 bedeutet unbegrenzt; Werte unter 50 werden ignoriert. |
ImageConfig | TransparentPng | true | PNG‑Transparenz beibehalten; false verwendet einen weißen Hintergrund. |
TiffConfig | keine zusätzlichen Eigenschaften | DPI 200 | Verwendet nur BaseConfig; unterstützt mehrseitige TIFFs. |
PsdConfig | MaxImagePixelSize | 3000 | Gleiche 0/Mindest‑50‑Validierung wie bei ImageConfig; Standard‑DPI ist 100. |
DicomConfig
Formate: DCM, IMA. Effektive Standard‑DPI: 100. Benötigt das DICOM‑Plugin.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
int | HorizontalResolution | 100 effektiv | Explizite horizontale DPI; sonst ImageResolution, dann 100. |
int | VerticalResolution | 100 effektiv | Explizite vertikale DPI; sonst ImageResolution, dann 100. |
int | AnimationFrameDelayMs | 100 | Verzögerung für Mehrfach‑Frame‑Animation; GIF‑Timing nutzt 10 ms‑Einheiten. |
ushort | LoopCount | 0 | 0 schleift unendlich; positive Werte stoppen nach dieser Anzahl. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly, FramesOnly oder kombinierte Übersicht plus statische Frames. |
TxtConfig
Format: TXT. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | Ausgabepapiergröße. |
Encoding? | FileEncoding | null | null verwendet UTF‑8. |
string | FontInformation | "" | Schriftinformationen für die Textdarstellung. |
Verwenden Sie WordConfig, wenn reiner Text ein umfangreicheres Seitenlayout‑Verhalten benötigt.
ProjectConfig
Formate: MPP, MPPX, MPX. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Native Gantt‑Bild; false nutzt einen textbasierten PDF‑Pfad. |
PdfConfig | PdfConfig | neue Instanz | PDF‑Pfad‑Einstellungen. |
bool | ExportPdfA | true | Archiv‑PDF/A‑Ausgabe. |
MppPaperSize | PaperSize | Ledger | Projekt‑Ausgabepapiergröße. |
MppTimeScale | TimeScale | Months | Days oder Months. |
MppFormat | PresentationFormat | GanttChart | GanttChart, TaskUsage, ResourceUsage, ResourceSheet oder TaskSheet. |
Für exakte textbasierte Koordinatensuche verwenden Sie DefaultRender = false.
VisioConfig
Formate: VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Nativer Diagramm‑Render; false nutzt die PDF‑Umleitung. |
PdfConfig | PdfConfig | neue Instanz | PDF‑Pfad‑Einstellungen. |
bool | ExportPdfA | true | Archiv‑PDF/A‑Ausgabe. |
HtmlConfig, EpubConfig, MhtConfig und XpsConfig
Alle vier haben standardmäßig 200 DPI und stellen ein verschachteltes PdfConfig bereit.
| Konfiguration | Formate | DefaultRender | Zusätzliche Eigenschaften/Verhalten |
|---|---|---|---|
HtmlConfig | HTML, HTM | true | Nativer Render; false für einen textbasierten PDF‑Such‑Pfad. |
EpubConfig | EPUB | true | Nativer Render; false nutzt PDF. |
MhtConfig | MHT, MHTML | true in der Klasse; false im automatischen Katalog | Der normale Öffnungsvorgang ohne Konfiguration nutzt die durchsuchbare PDF‑Umleitung. Eine explizit konstruierte Standardinstanz rendert nativ. |
XpsConfig | XPS | false | Verwendet standardmäßig den PDF‑Pfad; true für nativen Bild‑Render. |
Konfigurationsbeispiele nach Familie
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 Dateierweiterung
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‑Umleitung → pixelgenaue native Textsuche
".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
_ => null // Rückfall zur Standardkonfiguration des Formats
};War diese Seite hilfreich?