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 Namespace Doconut.
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 und schreiben.
DefaultRender = true wählt den nativen Format‑Renderer. Bei Formaten mit einer PDF‑Umleitung bewirkt false, dass zunächst ein PDF im Speicher erzeugt wird und anschließend der PDF‑Viewer verwendet wird. Dieser Weg 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
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
int | ImageResolution | 0 | 0 verwendet den Formatstandard. Gültiger expliziter Bereich ist 25‑300 DPI; ungültige Zuweisungen werden ignoriert. |
string | DocumentCulture | "" | Gebietsschema für Datums‑ und Zahlenangaben. 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‑Symbolleiste. |
bool | CachePages | true | Zwischenspeichern gerenderter Seitenbilder für die Dokumentsitzung. |
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 | Erstellen/Verwenden des PDF‑Textsuch‑Index. Erfordert die Lizenzfunktion Search für Anfragen. |
bool | AllowCopy | false | Erlaubt Textauswahl‑/Kopier‑Operationen. |
bool | ExtractHyperlinks | false | Extrahiert Link‑Rechtecke für Client‑Overlays. |
int | HyperlinksPageCount | 0 | Maximale Anzahl von Seiten, die nach Links durchsucht werden; 0 bedeutet jede Seite. |
bool | CompressImages | false | Komprimiert eingebettete Bilder vor dem Rendern. |
int | CompressQuality | 100 | JPEG‑Qualität, die bei aktivierter Kompression verwendet wird. |
bool | ResizeImages | false | Skaliert eingebettete Bilder vor dem Rendern. |
int | ResizeResolution | 300 | Ziel‑DPI für skalierte Bilder. |
bool | CompressFast | false | Bevorzugt den schnelleren, qualitativ geringeren Komprimierungspfad. |
bool | FixInvalidImages | false | Versucht, ungültige eingebettete Bilder zu reparieren. |
bool | SplitSegments | false | Fü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 kontrolliert. Beide aktivieren.
WordConfig
Formate: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Native Word‑Render; false verwendet die PDF‑Umleitung. |
PdfConfig | PdfConfig | neue Instanz | Einstellungen, die vom PDF‑/Suchpfad verwendet werden. |
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 | Entfernt Seitenränder des Dokuments. |
bool | RenderPageColor | true | Erhält die in Word konfigurierte Seitenfarbe; false rendert weiße Seiten. |
bool | ExportPdfA | false | Verwendet das archivierte PDF/A im PDF‑Pfad. |
Encoding? | FileEncoding | null | Überschreibt die Quellkodierung. |
string | FontInfo | "" | Informationen zur Schriftart‑Substitution. |
string[]? | FontFolders | null | Zusätzliche Schriftartverzeichnisse, besonders nützlich unter Linux/Containern. |
bool | AllowSearch | false | Leitet an PdfConfig.AllowSearch weiter. |
bool | AllowCopy | false | Leitet an PdfConfig.AllowCopy weiter. |
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 | Native Tabellen‑Render; false verwendet die PDF‑Umleitung. |
PdfConfig | PdfConfig | neue Instanz | Einstellungen für den PDF‑/Suchpfad. |
ExcelPaperSize | PaperSize | PaperA4 | Ausgabepapiergröße. |
double | PaperMargins | 0.25 | Seitenränder in Zoll. |
bool | PaperLandscape | true | Querformat‑Tabellenrendering. |
bool | AutoFitContents | false | Automatisches Anpassen von Zeilenhöhen und Spaltenbreiten. |
bool | RemoveEmptyContent | true | Ausgabe straffen, indem leerer Inhalt ausgeschlossen wird. |
bool | CalculateFormula | true | Formeln vor dem Rendern neu berechnen. |
bool | ShowRowColumnHeaders | true | Tabellenkopfzeilen einbeziehen. |
bool | ExportPdfA | false | Verwendet PDF/A im PDF‑Pfad. |
bool | SplitWorksheets | false | Behalte Arbeitsblätter als separate Seitengruppen. |
bool | ShowEmptyWorkSheets | false | Leere Arbeitsblätter einbeziehen. |
bool | ExportLandscape | false | Erzwingt Export im Querformat. |
bool | ExportOnePagePerSheet | false | Passt jedes Arbeitsblatt auf eine Ausgabeseite. |
bool | MemoryOptimizationPreference | true | Reduziert den Spitzen‑Speicherverbrauch, kann jedoch etwas Geschwindigkeit kosten. |
bool | AutoTrimWorksheetRenderRange | true | Rendert nur den sichtbaren genutzten Bereich, wenn kein expliziter Druckbereich vorhanden ist. |
bool | AutoTrimPreserveExistingPrintArea | true | Erhält vom Arbeitsbuch definierte Druckbereiche während des automatischen Trimmens. |
string? | PrintArea | null | Expliziter Bereich, z. B. "A1:Z100". |
bool | PrintGridlines | false | Druckt Rasterlinien des Arbeitsblatts. |
bool | PrintHeadings | false | Druckt Zeilen‑/Spaltenüberschriften. |
List<string> | SheetNames | leer | Beschränkt das Rendern auf benannte Arbeitsblätter. |
CustomStyleCell? | CustomStyles | null | Optionale Überschreibungen für Datums‑/Dezimal‑/Ganzzahl‑Formatierung. |
bool | AllowSearch | false | Leitet an PdfConfig.AllowSearch weiter. |
bool | AllowCopy | false | Leitet an PdfConfig.AllowCopy weiter. |
CustomStyleCell stellt CustomStyleDateTime, CustomStyleNumberDecimal und CustomStyleNumberInteger bereit, alles 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.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Native Folien‑Render; false verwendet die PDF‑Umleitung. |
bool | FastLoad | false | Vermeidet das Rendern der ersten Folie beim Öffnen; verwendet Metadaten und rendert bei Bedarf. |
PdfConfig | PdfConfig | neue Instanz | Einstellungen für das PDF‑/Suchverhalten. |
string | FontInfo | "" | Informationen zur Schriftart‑Substitution. |
string[]? | FontFolders | null | Zusätzliche Schriftartverzeichnisse. |
bool | AllowSearch | false | Leitet an PdfConfig.AllowSearch weiter. |
bool | AllowCopy | false | Leitet 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 Schriftarten oder geben Sie FontFolders an.
CadConfig
Formate: DWG, DXF, DGN. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Native CAD‑Render; false verwendet die PDF‑Umleitung. |
PdfConfig | PdfConfig | neue Instanz | PDF‑Pfad‑Einstellungen. |
bool | ExportPdfA | false | Archivierte PDF/A‑Ausgabe. |
bool | ShowColor | true | Farbe statt Monochrom. |
bool | WhiteBackground | true | Weißer Hintergrund statt schwarzem. |
short | LineWidth | 25 | CAD‑Strichbreite. |
bool | ShowLayouts | false | Rendern von Layout‑Tabs. |
bool | ShowModel | true | Rendern des Modellraums. |
bool | Check3DSolid | true | Verarbeiten von 3D‑Solids. |
bool | ExportAllLayouts | false | Exportiert alle Layouts und überschreibt die Auswahl von Modell/Layout. |
bool | LimitMinimumSize | false | Wendet MinimumSize an. |
int | MinimumSize | 700 | Minimale Ausgabengröße in Pixeln. |
bool | LimitMaximumSize | false | Wendet MaximumSize an. |
int | MaximumSize | 700 | Maximale Ausgabengröße in Pixeln. |
bool | ShowAllLayoutsDgn | false | Alle DGN‑Layouts einbeziehen. |
bool | AutomaticLayoutScaling | true | Skaliert Layouts automatisch. |
float | PdfMargins | 0.5 | PDF‑Rand in Zoll. |
RenderQuality | QualityImage | Low | Rasterqualität: Low, Medium oder High. |
RenderQuality | QualityText | Medium | Textqualität: Low, Medium oder High. |
EmailConfig
Formate: EML, EMLX, MSG. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Native E‑Mail‑Render; false verwendet die PDF‑Umleitung. |
PdfConfig | PdfConfig | neue Instanz | PDF‑Pfad‑Einstellungen. |
Encoding? | EmailEncoding | null | Überschreibt die Nachrichtenkodierung. |
Encoding? | SubjectEncoding | null | Überschreibt die Betreffkodierung. |
Encoding? | BodyEncoding | null | Überschreibt die Body‑Kodierung. |
bool | SkipExternalImages | false | Lädt keine remote referenzierten Bilder. Empfohlen für nicht vertrauenswürdige E‑Mails. |
bool | RemoveLastWhitePage | false | Entfernt eine abschließende leere Seite. |
bool | UseAntiAliasing | false | Aktiviert Kantenglättung. |
bool | UseHighQualityRendering | false | Bevorzugt saubereres, langsameres Rendering. |
TimeSpan? | TimeZoneOffset | null | Überschreibt die für Datumsangaben verwendete Zeitzone. |
bool | ForcePageSize | false | Erzwingt 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 beträgt 100.
| Konfiguration | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | Maximale Breite/Höhe. 0 bedeutet unbegrenzt; von Null verschiedene Werte unter 50 werden ignoriert. |
ImageConfig | TransparentPng | true | Erhält PNG‑Transparenz; false verwendet einen weißen Hintergrund. |
TiffConfig | keine zusätzlichen Eigenschaften | DPI 200 | Verwendet nur BaseConfig; unterstützt mehrseitige TIFF. |
PsdConfig | MaxImagePixelSize | 3000 | Gleiche 0/Mindest‑50‑Validierung wie ImageConfig; Standard‑DPI ist 100. |
DicomConfig
Formate: DCM, IMA. Effektive Standard‑DPI: 100. Erfordert 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 Mehrfachbild‑Animation; GIF‑Timing verwendet Einheiten von 10 ms. |
ushort | LoopCount | 0 | 0 wiederholt 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 | "" | Schriftartinformationen für die Textdarstellung. |
Verwenden Sie WordConfig, wenn Klartext 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 verwendet einen textbasierten PDF‑Pfad. |
PdfConfig | PdfConfig | neue Instanz | PDF‑Pfad‑Einstellungen. |
bool | ExportPdfA | true | Archivierte PDF/A‑Ausgabe. |
MppPaperSize | PaperSize | Ledger | Papiergröße für Projektausgabe. |
MppTimeScale | TimeScale | Months | Days oder Months. |
MppFormat | PresentationFormat | GanttChart | GanttChart, TaskUsage, ResourceUsage, ResourceSheet oder TaskSheet. |
Für eine exakte Text‑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 | Native Diagram‑Render; false verwendet die PDF‑Umleitung. |
PdfConfig | PdfConfig | neue Instanz | PDF‑Pfad‑Einstellungen. |
bool | ExportPdfA | true | Archivierte 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 | Native Render; false für einen textbasierten PDF‑Suchpfad verwenden. |
EpubConfig | EPUB | true | Native Render; false verwendet PDF. |
MhtConfig | MHT, MHTML | true on the class; false in the automatic catalog | Das normale Öffnen ohne Konfiguration verwendet die durchsuchbare PDF‑Umleitung. Eine explizit konstruierte Standardinstanz rendert nativ. |
XpsConfig | XPS | false | Verwendet standardmäßig den PDF‑Pfad; true für native Bilddarstellung setzen. |
Konfigurationsbeispiele nach Familie
BaseConfig[] configs =
[
new PdfConfig
{
AllowSearch = true,
ExtractHyperlinks = true,
HyperlinksPageCount = 0
},
new WordConfig
{
PaperSize = DocPaperSize.A4,
RemovePaperMargin = false,
FontFolders = ["/usr/share/fonts/truetype"],
AllowSearch = true
},
new ExcelConfig
{
PaperLandscape = true,
AutoFitContents = true,
CalculateFormula = true,
SplitWorksheets = false,
PrintGridlines = false
},
new PptConfig
{
FastLoad = true,
FontFolders = ["/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
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?