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.
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
| 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. Nichtleere Werte werden getrimmt; leere Zuweisungen werden ignoriert. |
string | Password | "" | Passwort für geschütztes Dokument. 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 | Cache für gerenderte Seitenbilder während der Dokumentsitzung. |
PdfConfig
Formate: PDF. Standard‑DPI: 200.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Kompatibilitätsschalter. Die aktuelle Fabrik verwendet den nativen PDF‑Betrachter. |
bool | AllowSearch | false | Erstelle/verwendet den PDF‑Textsuch‑Index. Erfordert die Lizenzfunktion Search für Anfragen. |
bool | AllowCopy | false | Ermöglicht 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 | Komprimiere eingebettete Bilder vor dem Rendern. |
int | CompressQuality | 100 | JPEG‑Qualität, die verwendet wird, wenn Kompression aktiviert ist. |
bool | ResizeImages | false | Größe eingebetteter Bilder vor dem Rendern ändern. |
int | ResizeResolution | 300 | Ziel‑DPI für skalierte Bilder. |
bool | CompressFast | false | Bevorzuge den schnelleren, qualitativ niedrigeren Kompressionspfad. |
bool | FixInvalidImages | false | Versuche, ungültige eingebettete Bilder zu reparieren. |
bool | SplitSegments | false | Fü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.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Native Word-Render; false verwendet die PDF‑Umleitung. |
PdfConfig | PdfConfig | new instance | 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 | Erhält 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 Schriftartsubstitution. |
string[]? | FontFolders | null | Zusätzliche Schriftartverzeichnisse — nützlich auf einem Server, dem die vom Dokument verwendeten Schriftarten fehlen. |
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 Tabellenrendering; false verwendet die PDF‑Umleitung. |
PdfConfig | PdfConfig | neue Instanz | Einstellungen für den PDF‑/Suchpfad. |
ExcelPaperSize | PaperSize | PaperA4 | Ausgabe‑Papiergröß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 | 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 | Querformat‑Export erzwingen. |
bool | ExportOnePagePerSheet | false | Jedes Arbeitsblatt auf eine Ausgabeseite anpassen. |
bool | MemoryOptimizationPreference | true | Spitzenverbrauch reduzieren, möglicherweise auf etwas Geschwindigkeit verzichten. |
bool | AutoTrimWorksheetRenderRange | true | Nur den sichtbaren benutzten Bereich rendern, wenn kein expliziter Druckbereich existiert. |
bool | AutoTrimPreserveExistingPrintArea | true | Arbeitsbuchdefinierte Druckbereiche während des automatischen Trimmens beibehalten. |
string? | PrintArea | null | Expliziter Bereich wie "A1:Z100". |
bool | PrintGridlines | false | Gitternetzlinien des Arbeitsblatts drucken. |
bool | PrintHeadings | false | Zeilen‑/Spaltenüberschriften drucken. |
List<string> | SheetNames | leer | Rendern auf benannte Arbeitsblätter beschränken. |
CustomStyleCell? | CustomStyles | null | Optionale Überschreibungen für Datums‑/Dezimal‑/Ganzzahlformatierung. |
bool | AllowSearch | false | Delegiert an PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delegiert 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.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Native Folienrendering; false verwendet die PDF‑Umleitung. |
bool | FastLoad | false | Vermeiden Sie das Rendern der ersten Folie beim Öffnen; verwenden Sie Metadaten und rendern Sie bei Bedarf. |
PdfConfig | PdfConfig | neue Instanz | Einstellungen für PDF‑/Suchverhalten. |
string | FontInfo | "" | Informationen zur Schriftartsubstitution. |
string[]? | FontFolders | null | Zusätzliche Schriftartverzeichnisse. |
bool | AllowSearch | false | Delegiert an PdfConfig.AllowSearch. |
bool | AllowCopy | false | Delegiert 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.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
bool | DefaultRender | true | Native CAD‑Rendering; false verwendet die PDF‑Umleitung. |
PdfConfig | PdfConfig | neue Instanz | PDF‑Pfadeinstellungen. |
bool | ExportPdfA | false | Archiviertes PDF/A‑Ausgabe. |
bool | ShowColor | true | Farbe statt Schwarzweiß. |
bool | WhiteBackground | true | Weißer Hintergrund statt schwarzem. |
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, überschreibe Modell‑/Layoutauswahl. |
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‑Layout einbeziehen. |
bool | AutomaticLayoutScaling | true | Layout 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. |
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 | Überschreibe Nachrichtenkodierung. |
Encoding? | SubjectEncoding | null | Überschreibe Betreffkodierung. |
Encoding? | BodyEncoding | null | Überschreibe Körperkodierung. |
bool | SkipExternalImages | false | Lade nicht remote referenzierte Bilder. Empfohlen für nicht vertrauenswürdige E‑Mails. |
bool | RemoveLastWhitePage | false | Entferne eine nachfolgende leere Seite. |
bool | UseAntiAliasing | false | Aktiviere Kantenglättung. |
bool | UseHighQualityRendering | false | Bevorzuge saubereres, langsameres Rendering. |
TimeSpan? | TimeZoneOffset | null | Überschreibe die für Daten verwendete Zeitzone. |
bool | ForcePageSize | false | Erzwinge 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.
| 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 | Erhalte PNG-Transparenz; 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. |
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.
| Typ | Eigenschaft | Standard | Verhalten |
|---|---|---|---|
int | HorizontalResolution | 100 wirksam | Explizites horizontales DPI; sonst ImageResolution, dann 100. |
int | VerticalResolution | 100 wirksam | Explizites vertikales DPI; sonst ImageResolution, dann 100. |
int | AnimationFrameDelayMs | 100 | Multiframe‑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. |
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. |
Verwende 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 | 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 eine exakte Textkoordinatensuche verwende 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 | 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 | Native Render; verwende false für einen textbasierten PDF‑Suchpfad. |
EpubConfig | EPUB | true | Native Render; 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 native Bilddarstellung. |
Konfigurationsbeispiele nach Familie
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
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?