Configurations de format
Options de rendu complètes par format
Chaque document s'ouvre avec une implémentation BaseConfig. Passez‑en une à OpenDocumentAsync ou laissez le catalogue de formats créer sa valeur par défaut. Toutes les classes ci‑dessous résident dans l'espace de noms Doconut.
var token = await viewer.OpenDocumentAsync(path, new PdfConfig
{
AllowSearch = true,
AllowCopy = true,
ImageResolution = 150
});Héritage et paramètres PDF imbriqués
Chaque format hérite des cinq propriétés BaseConfig. Les formats pouvant rediriger via PDF exposent un PdfConfig imbriqué. Dans WordConfig, ExcelConfig et PptConfig, AllowSearch et AllowCopy sont des propriétés pratiques qui lisent et écrivent le PdfConfig imbriqué.
DefaultRender = true sélectionne le moteur de rendu natif du format. Sur les formats avec une redirection PDF, false convertit d'abord en PDF en mémoire puis utilise le visualiseur PDF. Cette voie est souvent utile pour la recherche par coordonnées de texte, mais entraîne une conversion supplémentaire.
Sauf indication contraire, les tableaux affichent les valeurs par défaut des constructeurs/propriétés. Le catalogue de formats automatique remplace délibérément deux d'entre elles : il crée ExcelConfig avec SplitWorksheets = true, et MhtConfig avec DefaultRender = false.
BaseConfig
| Type | Propriété | Valeur par défaut | Comportement |
|---|---|---|---|
int | ImageResolution | 0 | 0 utilise la valeur par défaut du format. La plage explicite valide est de 25 à 300 DPI ; les affectations invalides sont ignorées. |
string | DocumentCulture | "" | Paramètre régional pour les dates et les nombres. Les valeurs non vides sont tronquées ; les affectations vides sont ignorées. |
string | Password | "" | Mot de passe du document protégé. DocOptions.Password est copié ici automatiquement. |
bool | ShowUI | true | Propriété de compatibilité ; le moteur actuel ne l'utilise pas pour contrôler la barre d'outils du navigateur. |
bool | CachePages | true | Met en cache les images de pages rendues pour la session du document. |
PdfConfig
Formats : PDF. DPI par défaut : 200.
| Type | Propriété | Valeur par défaut | Comportement |
|---|---|---|---|
bool | DefaultRender | true | Commutateur de compatibilité. L'usine actuelle utilise le visualiseur PDF natif. |
bool | AllowSearch | false | Construire/utiliser l'index de recherche texte PDF. Nécessite la capacité de licence Search pour les requêtes. |
bool | AllowCopy | false | Autoriser les opérations de sélection/copier du texte. |
bool | ExtractHyperlinks | false | Extraire les rectangles de lien pour les superpositions client. |
int | HyperlinksPageCount | 0 | Nombre maximal de pages analysées pour les liens ; 0 signifie toutes les pages. |
bool | CompressImages | false | Compresser les images incorporées avant le rendu. |
int | CompressQuality | 100 | Qualité JPEG utilisée lorsque la compression est activée. |
bool | ResizeImages | false | Redimensionner les images incorporées avant le rendu. |
int | ResizeResolution | 300 | DPI cible pour les images redimensionnées. |
bool | CompressFast | false | Privilégier le chemin de compression plus rapide et de moindre qualité. |
bool | FixInvalidImages | false | Tenter de réparer les images incorporées invalides. |
bool | SplitSegments | false | Rejoindre les mots séparés sur plusieurs segments de ligne pour améliorer la recherche/la copie. |
showHyperlinks dans ViewerConfig contrôle la superposition client, tandis que ExtractHyperlinks contrôle l'extraction serveur. Activez les deux.
WordConfig
Formats : DOC, DOCX, DOCM, DOT, DOTX, DOTM, RTF, ODT, OTT, XML. DPI par défaut : 200.
| Type | Propriété | Valeur par défaut | Comportement |
|---|---|---|---|
bool | DefaultRender | true | Rendu natif Word ; false utilise la redirection PDF. |
PdfConfig | PdfConfig | nouvelle instance | Paramètres utilisés par le chemin PDF/recherche. |
DocPaperSize | PaperSize | A4 | Taille du papier de sortie. Utilisez Custom avec largeur/hauteur. |
int | PaperWidth | 595 | Largeur personnalisée en points. |
int | PaperHeight | 841 | Hauteur personnalisée en points. |
bool | RemovePaperMargin | false | Supprimer les marges de page du document. |
bool | RenderPageColor | true | Conserver la couleur de page configurée par Word ; false rend les pages blanches. |
bool | ExportPdfA | false | Utiliser le PDF/A d'archivage sur le chemin PDF. |
Encoding? | FileEncoding | null | Remplacer l'encodage source. |
string | FontInfo | "" | Informations de substitution de police. |
string[]? | FontFolders | null | Répertoires de polices supplémentaires, particulièrement utiles sous Linux/conteneurs. |
bool | AllowSearch | false | Délègue à PdfConfig.AllowSearch. |
bool | AllowCopy | false | Délègue à PdfConfig.AllowCopy. |
TableAutoFitBehavior | AutoFitAllTables | None | None, AutoFitToContents, ou AutoFitToWindow. |
ConfigurationExcel
Formats : XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. DPI par défaut : 200.
| Type | Propriété | Valeur par défaut | Comportement |
|---|---|---|---|
bool | DefaultRender | true | Rendu natif de la feuille ; false utilise la redirection PDF. |
PdfConfig | PdfConfig | nouvelle instance | Paramètres pour le chemin PDF/recherche. |
ExcelPaperSize | PaperSize | PaperA4 | Taille du papier de sortie. |
double | PaperMargins | 0.25 | Marges de page en pouces. |
bool | PaperLandscape | true | Rendu de la feuille en mode paysage. |
bool | AutoFitContents | false | Ajustement automatique des hauteurs de lignes et des largeurs de colonnes. |
bool | RemoveEmptyContent | true | Resserrez la sortie en excluant le contenu vide. |
bool | CalculateFormula | true | Recalculer les formules avant le rendu. |
bool | ShowRowColumnHeaders | true | Inclure les en-têtes de la feuille de calcul. |
bool | ExportPdfA | false | Utiliser PDF/A sur le chemin PDF. |
bool | SplitWorksheets | false | Conserver les feuilles de calcul comme groupes de pages séparés. |
bool | ShowEmptyWorkSheets | false | Inclure les feuilles de calcul vides. |
bool | ExportLandscape | false | Forcer l'exportation en mode paysage. |
bool | ExportOnePagePerSheet | false | Adapter chaque feuille de calcul à une page de sortie. |
bool | MemoryOptimizationPreference | true | Réduire la mémoire maximale, au prix d'une possible perte de vitesse. |
bool | AutoTrimWorksheetRenderRange | true | Rendre uniquement la plage utilisée visible lorsqu'aucune zone d'impression explicite n'existe. |
bool | AutoTrimPreserveExistingPrintArea | true | Conserver les zones d'impression définies par le classeur lors du rognage automatique. |
string? | PrintArea | null | Plage explicite telle que "A1:Z100". |
bool | PrintGridlines | false | Imprimer les lignes de grille de la feuille de calcul. |
bool | PrintHeadings | false | Imprimer les en-têtes de lignes/colonnes. |
List<string> | SheetNames | vide | Restreindre le rendu aux feuilles de calcul nommées. |
CustomStyleCell? | CustomStyles | null | Remplacements optionnels de formatage date/décimal/entier. |
bool | AllowSearch | false | Délègue à PdfConfig.AllowSearch. |
bool | AllowCopy | false | Délègue à PdfConfig.AllowCopy. |
CustomStyleCell expose CustomStyleDateTime, CustomStyleNumberDecimal et CustomStyleNumberInteger, toutes des chaînes nullables.
new ExcelConfig() définit SplitWorksheets à false ; l'ouverture d'un fichier Excel sans configuration explicite utilise le catalogue de formats, qui le définit à true.
ConfigurationPpt
Formats : PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. DPI par défaut : 200.
| Type | Propriété | Valeur par défaut | Comportement |
|---|---|---|---|
bool | DefaultRender | true | Rendu natif de la diapositive ; false utilise la redirection PDF. |
bool | FastLoad | false | Éviter le rendu de la première diapositive lors de l'ouverture ; utilisez les métadonnées et rendez à la demande. |
PdfConfig | PdfConfig | nouvelle instance | Paramètres pour le comportement PDF/recherche. |
string | FontInfo | "" | Informations de substitution de police. |
string[]? | FontFolders | null | Répertoires de polices supplémentaires. |
bool | AllowSearch | false | Délègue à PdfConfig.AllowSearch. |
bool | AllowCopy | false | Délègue à PdfConfig.AllowCopy. |
Sur Linux et macOS, le rendu des présentations avec le moteur actuel nécessite libgdiplus et System.Drawing.EnableUnixSupport=true. Installez les polices utilisées par la présentation ou fournissez FontFolders.
ConfigurationCad
Formats : DWG, DXF, DGN. DPI par défaut : 200.
| Type | Propriété | Valeur par défaut | Comportement |
|---|---|---|---|
bool | DefaultRender | true | Rendu natif CAD ; false utilise la redirection PDF. |
PdfConfig | PdfConfig | nouvelle instance | Paramètres du chemin PDF. |
bool | ExportPdfA | false | Sortie PDF/A d'archivage. |
bool | ShowColor | true | Couleur plutôt que monochrome. |
bool | WhiteBackground | true | Fond blanc au lieu de noir. |
short | LineWidth | 25 | Largeur du trait CAD. |
bool | ShowLayouts | false | Rendre les onglets de mise en page. |
bool | ShowModel | true | Rendre l'espace modèle. |
bool | Check3DSolid | true | Traiter les solides 3D. |
bool | ExportAllLayouts | false | Exporter toutes les mises en page, en écrasant la sélection modèle/mise en page. |
bool | LimitMinimumSize | false | Appliquer MinimumSize. |
int | MinimumSize | 700 | Taille minimale de sortie en pixels. |
bool | LimitMaximumSize | false | Appliquer MaximumSize. |
int | MaximumSize | 700 | Taille maximale de sortie en pixels. |
bool | ShowAllLayoutsDgn | false | Inclure toutes les mises en page DGN. |
bool | AutomaticLayoutScaling | true | Mettre à l'échelle automatiquement les mises en page. |
float | PdfMargins | 0.5 | Marge PDF en pouces. |
RenderQuality | QualityImage | Low | Qualité du raster : Low, Medium ou High. |
RenderQuality | QualityText | Medium | Qualité du texte : Low, Medium ou High. |
ConfigurationEmail
Formats : EML, EMLX, MSG. DPI par défaut : 200.
| Type | Propriété | Par défaut | Comportement |
|---|---|---|---|
bool | DefaultRender | true | Rendu natif d'email ; false utilise la redirection PDF. |
PdfConfig | PdfConfig | nouvelle instance | Paramètres du chemin PDF. |
Encoding? | EmailEncoding | null | Remplace l'encodage du message. |
Encoding? | SubjectEncoding | null | Remplace l'encodage du sujet. |
Encoding? | BodyEncoding | null | Remplace l'encodage du corps. |
bool | SkipExternalImages | false | Ne charge pas les images référencées à distance. Recommandé pour les e‑mails non fiables. |
bool | RemoveLastWhitePage | false | Supprime une page blanche finale. |
bool | UseAntiAliasing | false | Active l'anticrénelage. |
bool | UseHighQualityRendering | false | Privilégie un rendu plus propre mais plus lent. |
TimeSpan? | TimeZoneOffset | null | Remplace le fuseau horaire utilisé pour les dates. |
bool | ForcePageSize | false | Force des dimensions de page fixes. |
ConfigurationImage, ConfigurationTiff et ConfigurationPsd
ImageConfig couvre JPG, JPEG, JPE, PNG, BMP, GIF, ICO, EPS, TGA, WEBP, CDR, CMX, DNG, EMF, WMF, AVIF et SVG. Son DPI par défaut est 100.
| Configuration | Propriété | Par défaut | Comportement |
|---|---|---|---|
ImageConfig | MaxImagePixelSize | 3000 | Largeur/hauteur maximale. 0 signifie illimité ; les valeurs non nulles inférieures à 50 sont ignorées. |
ImageConfig | TransparentPng | true | Préserve la transparence PNG ; false utilise un fond blanc. |
TiffConfig | aucune propriété supplémentaire | DPI 200 | Utilise uniquement BaseConfig ; prend en charge les TIFF multi‑pages. |
PsdConfig | MaxImagePixelSize | 3000 | Même validation 0/minimum‑50 que ImageConfig ; le DPI par défaut est 100. |
ConfigurationDicom
Formats : DCM, IMA. DPI effectif par défaut : 100. Nécessite le plugin DICOM.
| Type | Propriété | Par défaut | Comportement |
|---|---|---|---|
int | HorizontalResolution | 100 effectif | DPI horizontal explicite ; sinon ImageResolution, puis 100. |
int | VerticalResolution | 100 effectif | DPI vertical explicite ; sinon ImageResolution, puis 100. |
int | AnimationFrameDelayMs | 100 | Délai d'animation multiframe ; le timing GIF utilise des unités de 10 ms. |
ushort | LoopCount | 0 | 0 boucle indéfiniment ; les valeurs positives s'arrêtent après ce nombre. |
DicomDisplayMode | DisplayMode | AnimationAndFrames | AnimationOnly, FramesOnly, ou aperçu combiné plus images statiques. |
ConfigurationTxt
Format : TXT. DPI par défaut : 200.
| Type | Propriété | Par défaut | Comportement |
|---|---|---|---|
DocPaperSize | PaperSize | A4 | Taille du papier de sortie. |
Encoding? | FileEncoding | null | null utilise UTF-8. |
string | FontInformation | "" | Informations sur la police pour le rendu du texte. |
Utilisez WordConfig lorsque le texte brut nécessite un comportement de mise en page plus riche.
ConfigurationProjet
Formats : MPP, MPPX, MPX. DPI par défaut : 200.
| Type | Propriété | Par défaut | Comportement |
|---|---|---|---|
bool | DefaultRender | true | Image Gantt native ; false utilise un chemin PDF basé sur du texte. |
PdfConfig | PdfConfig | nouvelle instance | Paramètres du chemin PDF. |
bool | ExportPdfA | true | Sortie PDF/A d'archivage. |
MppPaperSize | PaperSize | Ledger | Taille du papier de sortie du projet. |
MppTimeScale | TimeScale | Months | Days ou Months. |
MppFormat | PresentationFormat | GanttChart | GanttChart, TaskUsage, ResourceUsage, ResourceSheet, ou TaskSheet. |
Pour une recherche exacte par coordonnées de texte, utilisez DefaultRender = false.
ConfigurationVisio
Formats : VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. DPI par défaut : 200.
| Type | Propriété | Par défaut | Comportement |
|---|---|---|---|
bool | DefaultRender | true | Rendu natif de diagramme ; false utilise la redirection PDF. |
PdfConfig | PdfConfig | nouvelle instance | Paramètres du chemin PDF. |
bool | ExportPdfA | true | Sortie PDF/A d'archivage. |
ConfigurationHtml, ConfigurationEpub, ConfigurationMht et ConfigurationXps
Les quatre utilisent par défaut le DPI 200 et exposent un PdfConfig imbriqué.
| Configuration | Formats | DefaultRender | Propriétés/comportement supplémentaires |
|---|---|---|---|
HtmlConfig | HTML, HTM | true | Rendu natif ; utilisez false pour un chemin de recherche PDF basé sur du texte. |
EpubConfig | EPUB | true | Rendu natif ; false utilise le PDF. |
MhtConfig | MHT, MHTML | true sur la classe ; false dans le catalogue automatique | L'ouverture normale sans configuration utilise la redirection PDF recherchable. Une instance par défaut explicitement construite rend nativement. |
XpsConfig | XPS | false | Utilise le chemin PDF par défaut ; définissez true pour le rendu d'image natif. |
Exemples de configuration par famille
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
}
];Sélection par extension
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 → redirection PDF → recherche de texte native précise au pixel
".HTML" or ".HTM" => new HtmlConfig { DefaultRender = false },
".EML" or ".EMLX" or ".MSG" => new EmailConfig { DefaultRender = false },
_ => null // revenir à la config par défaut du format
};Cette page était-elle utile ?