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.
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
| Type | Property | Default | Behavior |
|---|---|---|---|
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 verwendet sie nicht, um die Browser‑Symbolleiste zu steuern. |
bool | CachePages | true | Zwischenspeichern gerenderter Seitenbilder für die Dokumentsitzung. |
PdfConfig
Formate: PDF. Standard‑DPI: 200.
| Type | Property | Default | Behavior |
|---|---|---|---|
bool | DefaultRender | true | Kompatibilitätsschalter. Die aktuelle Fabrik verwendet den nativen PDF‑Betrachter. |
bool | AllowSearch | false | Erstellen/Verwenden des PDF‑Textsuchindex. Erfordert die Lizenzfähigkeit Search für Anfragen. |
bool | AllowCopy | false | Erlaubt Textauswahl‑/Kopieroperationen. |
bool | ExtractHyperlinks | false | Extrahiert Link‑Rechtecke für Client‑Overlays. |
int | HyperlinksPageCount | 0 | Maximale Seitenzahl, die für Links gescannt wird; 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 | Größe eingebetteter Bilder vor dem Rendern ändern. |
int | ResizeResolution | 300 | Ziel‑DPI für skalierte Bilder. |
bool | CompressFast | false | Bevorzugt den schnelleren, qualitativ niedrigeren 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 steuert. Beide aktivieren.
WordConfig
Formate: DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. Standard‑DPI: 200.
| Type | Property | Default | Behavior |
|---|---|---|---|
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 | Ausgabe-Papiergröß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 | Bewahrt die in Word konfigurierte Seitenfarbe; false rendert weiße Seiten. |
bool | ExportPdfA | false | Verwendet archiviertes PDF/A im PDF‑Pfad. |
Encoding? | FileEncoding | null | Überschreibt die Quellkodierung. |
string | FontInfo | "" | Informationen zur Schriftartersetzung. |
string[]? | FontFolders | null | Zusätzliche Schriftartverzeichnisse, 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 | Native Tabellenblatt‑Renderung; 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‑Tabellenblatt‑Renderung. |
bool | AutoFitContents | false | Zeilenhöhen und Spaltenbreiten automatisch anpassen. |
bool | RemoveEmptyContent | true | Ausgabe komprimieren, indem leerer Inhalt ausgeschlossen wird. |
bool | CalculateFormula | true | Formeln vor dem Rendern neu berechnen. |
bool | ShowRowColumnHeaders | true | Tabellenkopfzeilen einbeziehen. |
bool | ExportPdfA | false | PDF/A auf dem PDF‑Pfad verwenden. |
bool | SplitWorksheets | false | Arbeitsblätter als separate Seiten‑Gruppen behalten. |
bool | ShowEmptyWorkSheets | false | Leere Arbeitsblätter einbeziehen. |
bool | ExportLandscape | false | Export im Querformat erzwingen. |
bool | ExportOnePagePerSheet | false | Jedes Arbeitsblatt auf eine Ausgabeseite anpassen. |
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 | Arbeitsbuchdefinierte Druckbereiche beim automatischen Trimmen beibehalten. |
string? | PrintArea | null | Expliziter Bereich wie "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 Datums‑/Dezimal‑/Ganzzahl‑Formatierungs‑Überschreibungen. |
bool | AllowSearch | false | Delegiert an PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delegiert 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.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Native Folien‑Renderung; false verwendet die PDF‑Umleitung. |
bool | FastLoad | false | Vermeidet das Rendern der ersten Folie beim Öffnen; Metadaten verwenden und bei Bedarf rendern. |
PdfConfig | PdfConfig | neue Instanz | Einstellungen für PDF‑/Suchverhalten. |
string | FontInfo | "" | Informationen zur Schriftart‑Substitution. |
string[]? | FontFolders | null | Zusätzliche Schriftart‑Verzeichnisse. |
bool | AllowSearch | false | Delegiert an PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delegiert 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.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Native CAD‑Renderung; false verwendet 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ß statt schwarzem Hintergrund. |
short | LineWidth | 25 | CAD‑Strichbreite. |
bool | ShowLayouts | false | Layout‑Registerkarten rendern. |
bool | ShowModel | true | Modellraum rendern. |
bool | Check3DSolid | true | 3D‑Körper verarbeiten. |
bool | ExportAllLayouts | false | Alle Layouts exportieren, überschreibt Modell‑/Layout‑Auswahl. |
bool | LimitMinimumSize | false | MinimumSize anwenden. |
int | MinimumSize | 700 | Minimale Ausgabengröße in Pixeln. |
bool | LimitMaximumSize | false | MaximumSize anwenden. |
int | MaximumSize | 700 | Maximale Ausgabengröße 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 | Rasterqualität: Low, Medium oder High. |
RenderQuality | QualityText | Medium | Textqualität: Low, Medium oder High. |
E‑Mail‑Konfiguration
Formate: EML, EMLX, MSG. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Nativ E‑Mail‑Render; false verwendet die PDF‑Umleitung. |
PdfConfig | PdfConfig | neue Instanz | PDF‑Pfad‑Einstellungen. |
Encoding? | EmailEncoding | null | Überschreibe Nachrichtenkodierung. |
Encoding? | SubjectEncoding | null | Überschreibe Betreffkodierung. |
Encoding? | BodyEncoding | null | Überschreibe Körperkodierung. |
bool | SkipExternalImages | false | Lade keine remote referenzierten Bilder. Empfohlen für nicht vertrauenswürdige E‑Mails. |
bool | RemoveLastWhitePage | false | Entferne eine nachfolgende leere Seite. |
bool | UseAntiAliasing | false | Anti‑Aliasing aktivieren. |
bool | UseHighQualityRendering | false | Bevorzuge saubereres, langsameres Rendering. |
TimeSpan? | TimeZoneOffset | null | Überschreibe die für Daten verwendete Zeitzone. |
bool | ForcePageSize | false | Erzwinge 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.
| 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 | PNG‑Transparenz erhalten; false verwendet einen weißen Hintergrund. |
TiffConfig | keine zusätzlichen Eigenschaften | DPI 200 | Verwendet nur BaseConfig; unterstützt mehrseitiges TIFF. |
PsdConfig | MaxImagePixelSize | 3000 | Gleiche 0/minimum‑50‑Validierung wie ImageConfig; Standard‑DPI ist 100. |
DicomKonfiguration
Formate: DCM, IMA. Standard‑effektiver DPI: 100. Benötigt das DICOM‑Plugin.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
int | HorizontalResolution | 100 effektiv | Expliziter horizontaler DPI; sonst ImageResolution, dann 100. |
int | VerticalResolution | 100 effektiv | Expliziter vertikaler DPI; sonst ImageResolution, dann 100. |
int | AnimationFrameDelayMs | 100 | Mehrrahmen‑Animationsverzögerung; GIF‑Timing verwendet Einheiten von 10 ms. |
ushort | LoopCount | 0 | 0 schleift unendlich; positive Werte stoppen nach dieser Anzahl. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly, FramesOnly oder kombinierte Übersicht plus statische Frames. |
TxtKonfiguration
Format: TXT. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | Ausgabe‑Papiergröße. |
Encoding? | FileEncoding | null | null verwendet UTF‑8. |
string | FontInformation | "" | Schriftinformationen für die Textdarstellung. |
Verwende WordConfig, wenn Klartext ein umfangreicheres Seitenlayout‑Verhalten benötigt.
ProjektKonfiguration
Formate: MPP, MPPX, MPX. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Nativ Gantt‑Bild; false verwendet einen textbasierten PDF‑Pfad. |
PdfConfig | PdfConfig | neue Instanz | PDF‑Pfad‑Einstellungen. |
bool | ExportPdfA | true | Archiv‑PDF/A‑Ausgabe. |
MppPaperSize | PaperSize | Ledger | Projekt‑Ausgabe‑Papiergröße. |
MppTimeScale | TimeScale | Months | Days oder Months. |
MppFormat | PresentationFormat | GanttChart | GanttChart, 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.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Nativ Diagram‑Render; false verwendet die PDF‑Umleitung. |
PdfConfig | PdfConfig | neue Instanz | PDF‑Pfad‑Einstellungen. |
bool | ExportPdfA | true | Archiv‑PDF/A‑Ausgabe. |
HtmlKonfiguration, EpubKonfiguration, MhtKonfiguration und XpsKonfiguration
Alle vier haben standardmäßig 200 DPI und stellen ein verschachteltes PdfConfig bereit.
| Konfiguration | Formate | DefaultRender | Zusätzliche Eigenschaften/Verhalten |
|---|---|---|---|
HtmlConfig | HTML, HTM | true | Nativ Darstellung; verwende false für einen textbasierten PDF‑Suchpfad. |
EpubConfig | EPUB | true | Nativ; false verwendet PDF. |
MhtConfig | MHT, MHTML | true in der Klasse; false im automatischen Katalog | 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; setze true für nativ Bilddarstellung. |
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 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-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?