Configurations de format

Options de rendu complètes par format

Chaque document s'ouvre avec une implémentation BaseConfig. Passez‑en une à OpenDocumentAsync (ou OpenDocument) ou laissez le catalogue de formats créer sa valeur par défaut. Toutes les classes ci‑dessous se trouvent dans l'espace de noms Doconut.

csharp
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 surcharge délibérément deux d'entre elles : il crée ExcelConfig avec SplitWorksheets = true, et MhtConfig avec DefaultRender = false.

BaseConfig

TypePropriétéValeur par défautComportement
intImageResolution00 utilise la valeur par défaut du format. La plage explicite valide est de 25 à 300 DPI ; les affectations invalides sont ignorées.
stringDocumentCulture""Paramètre régional pour les dates et les nombres. Les valeurs non vides sont tronquées ; les affectations vides sont ignorées.
stringPassword""Mot de passe du document protégé. DocOptions.Password est copié ici automatiquement.
boolShowUItruePropriété de compatibilité ; le moteur de rendu actuel ne l'utilise pas pour contrôler la barre d'outils du navigateur.
boolCachePagestrueMet en cache les images de pages rendues pour la session du document.

PdfConfig

Formats : PDF. DPI par défaut : 200.

TypePropriétéValeur par défautComportement
boolDefaultRendertrueCommutateur de compatibilité. La fabrique actuelle utilise le visualiseur PDF natif.
boolAllowSearchfalseConstruire/utiliser l'index de recherche de texte PDF. Nécessite la capacité de licence Search pour les requêtes.
boolAllowCopyfalseAutoriser les opérations de sélection/copie de texte.
boolExtractHyperlinksfalseExtraire les rectangles de lien pour les superpositions client.
intHyperlinksPageCount0Nombre maximal de pages analysées pour les liens ; 0 signifie toutes les pages.
boolCompressImagesfalseCompresser les images incorporées avant le rendu.
intCompressQuality100Qualité JPEG utilisée lorsque la compression est activée.
boolResizeImagesfalseRedimensionner les images incorporées avant le rendu.
intResizeResolution300DPI cible pour les images redimensionnées.
boolCompressFastfalsePrivilégier le chemin de compression plus rapide et de moindre qualité.
boolFixInvalidImagesfalseTenter de réparer les images incorporées invalides.
boolSplitSegmentsfalseRéunir 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.

TypePropriétéValeur par défautComportement
boolDefaultRendertrueRendu Word natif ; false utilise la redirection PDF.
PdfConfigPdfConfignew instanceParamètres utilisés par le chemin PDF/recherche.
DocPaperSizePaperSizeA4Taille du papier de sortie. Utilisez Custom avec largeur/hauteur.
intPaperWidth595Largeur personnalisée en points.
intPaperHeight841Hauteur personnalisée en points.
boolRemovePaperMarginfalseSupprimer les marges de page du document.
boolRenderPageColortrueConserver la couleur de page configurée dans Word ; false rend les pages blanches.
boolExportPdfAfalseUtiliser le PDF/A d'archivage sur le chemin PDF.
Encoding?FileEncodingnullRemplacer l'encodage source.
stringFontInfo""Informations de substitution de police.
string[]?FontFoldersnullRépertoires de polices supplémentaires — utiles sur un serveur qui ne possède pas les polices utilisées par les documents.
boolAllowSearchfalseDélègue à PdfConfig.AllowSearch.
boolAllowCopyfalseDélègue à PdfConfig.AllowCopy.
TableAutoFitBehaviorAutoFitAllTablesNoneNone, AutoFitToContents ou AutoFitToWindow.

ExcelConfig

Formats : XLS, XLSX, XLSM, XLSB, XLTX, XLTM, ODS, CSV. DPI par défaut : 200.

TypePropriétéValeur par défautComportement
boolDefaultRendertrueRendu natif de la feuille ; false utilise la redirection PDF.
PdfConfigPdfConfignew instanceParamètres pour le chemin PDF/recherche.
ExcelPaperSizePaperSizePaperA4Taille du papier de sortie.
doublePaperMargins0.25Marges de page en pouces.
boolPaperLandscapetrueRendu de feuille en mode paysage.
boolAutoFitContentsfalseAjustement automatique des hauteurs de lignes et des largeurs de colonnes.
boolRemoveEmptyContenttrueResserrez la sortie en excluant le contenu vide.
boolCalculateFormulatrueRecalculer les formules avant le rendu.
boolShowRowColumnHeaderstrueInclure les en-têtes de la feuille de calcul.
boolExportPdfAfalseUtiliser PDF/A sur le chemin PDF.
boolSplitWorksheetsfalseConserver les feuilles de calcul comme groupes de pages séparés.
boolShowEmptyWorkSheetsfalseInclure les feuilles de calcul vides.
boolExportLandscapefalseForcer l'exportation en mode paysage.
boolExportOnePagePerSheetfalseAdapter chaque feuille à une page de sortie.
boolMemoryOptimizationPreferencetrueRéduire la mémoire maximale, au prix d'une possible perte de vitesse.
boolAutoTrimWorksheetRenderRangetrueRendre uniquement la plage utilisée visible lorsqu'aucune zone d'impression explicite n'existe.
boolAutoTrimPreserveExistingPrintAreatrueConserver les zones d'impression définies par le classeur lors du rognage automatique.
string?PrintAreanullPlage explicite telle que "A1:Z100".
boolPrintGridlinesfalseImprimer les lignes de grille de la feuille.
boolPrintHeadingsfalseImprimer les en-têtes de lignes/colonnes.
List<string>SheetNamesemptyRestreindre le rendu aux feuilles nommées.
CustomStyleCell?CustomStylesnullRemplacements optionnels de formatage date/décimal/entier.
boolAllowSearchfalseDélègue à PdfConfig.AllowSearch.
boolAllowCopyfalseDé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.

PptConfig

Formats : PPT, PPTX, PPTM, PPSX, PPSM, POT, POTX, POTM, ODP. DPI par défaut : 200.

TypePropriétéValeur par défautComportement
boolDefaultRendertrueRendu natif de la diapositive ; false utilise la redirection PDF.
boolFastLoadfalseÉviter le rendu de la première diapositive lors de l'ouverture ; utiliser les métadonnées et rendre à la demande.
PdfConfigPdfConfignew instanceParamètres pour le comportement PDF/recherche.
stringFontInfo""Informations de substitution de police.
string[]?FontFoldersnullRépertoires de polices supplémentaires.
boolAllowSearchfalseDélègue à PdfConfig.AllowSearch.
boolAllowCopyfalseDélègue à PdfConfig.AllowCopy.

Installez les polices utilisées par les présentations sur le serveur, ou pointez FontFolders vers un dossier qui les contient. Un serveur Windows sans Office possède beaucoup moins de polices qu'une machine de développement, et les polices manquantes sont substituées sans aucune erreur.

CadConfig

Formats : DWG, DXF, DGN. DPI par défaut : 200.

TypePropriétéValeur par défautComportement
boolDefaultRendertrueRendu natif CAD ; false utilise la redirection PDF.
PdfConfigPdfConfignew instanceParamètres du chemin PDF.
boolExportPdfAfalseSortie PDF/A d'archivage.
boolShowColortrueCouleur plutôt que monochrome.
boolWhiteBackgroundtrueFond blanc au lieu de noir.
shortLineWidth25Largeur du trait CAD.
boolShowLayoutsfalseRendre les onglets de mise en page.
boolShowModeltrueRendre l'espace modèle.
boolCheck3DSolidtrueTraiter les solides 3D.
boolExportAllLayoutsfalseExporter toutes les mises en page, en écrasant la sélection modèle/mise en page.
boolLimitMinimumSizefalseAppliquer MinimumSize.
intMinimumSize700Taille minimale de sortie en pixels.
boolLimitMaximumSizefalseAppliquer MaximumSize.
intMaximumSize700Taille maximale de sortie en pixels.
boolShowAllLayoutsDgnfalseInclure toutes les mises en page DGN.
boolAutomaticLayoutScalingtrueRedimensionner automatiquement les mises en page.
floatPdfMargins0.5Marge PDF en pouces.
RenderQualityQualityImageLowQualité du raster : Low, Medium ou High.
RenderQualityQualityTextMediumQualité du texte : Low, Medium ou High.

EmailConfig

Formats : EML, EMLX, MSG. DPI par défaut : 200.

TypePropriétéValeur par défautComportement
boolDefaultRendertrueRendu natif de l’e‑mail ; false utilise la redirection PDF.
PdfConfigPdfConfignouvelle instanceParamètres du chemin PDF.
Encoding?EmailEncodingnullRemplace l’encodage du message.
Encoding?SubjectEncodingnullRemplace l’encodage du sujet.
Encoding?BodyEncodingnullRemplace l’encodage du corps.
boolSkipExternalImagesfalseNe charge pas les images référencées à distance. Recommandé pour les e‑mails non fiables.
boolRemoveLastWhitePagefalseSupprime une page blanche finale.
boolUseAntiAliasingfalseActive l’anti‑aliasing.
boolUseHighQualityRenderingfalsePrivilégie un rendu plus propre mais plus lent.
TimeSpan?TimeZoneOffsetnullRemplace le fuseau horaire utilisé pour les dates.
boolForcePageSizefalseForce des dimensions de page fixes.

ImageConfig, TiffConfig et PsdConfig

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.

ConfigurationPropriétéValeur par défautComportement
ImageConfigMaxImagePixelSize3000Largeur/hauteur maximale. 0 signifie illimité ; les valeurs non nulles inférieures à 50 sont ignorées.
ImageConfigTransparentPngtruePréserve la transparence PNG ; false utilise un fond blanc.
TiffConfigaucune propriété supplémentaireDPI 200N’utilise que BaseConfig ; prend en charge les TIFF multi‑pages.
PsdConfigMaxImagePixelSize3000Même validation 0/minimum-50 que ImageConfig ; le DPI par défaut est 100.

DicomConfig

Formats : DCM, IMA. DPI effectif par défaut : 100. Nécessite le plugin DICOM. Dans ce paquet, les fichiers DICOM sont rendus complètement, mais les métadonnées techniques ne sont pas disponibles — voir Plugin DICOM.

TypePropriétéValeur par défautComportement
intHorizontalResolution100 effectifDPI horizontal explicite ; sinon ImageResolution, puis 100.
intVerticalResolution100 effectifDPI vertical explicite ; sinon ImageResolution, puis 100.
intAnimationFrameDelayMs100Délai d’animation multiframe ; le timing GIF utilise des unités de 10 ms.
ushortLoopCount00 boucle indéfiniment ; les valeurs positives s’arrêtent après ce nombre.
DicomDisplayModeDisplayModeAnimationAndFramesAnimationOnly, FramesOnly, ou aperçu combiné plus images statiques.

TxtConfig

Format : TXT. DPI par défaut : 200.

TypePropriétéValeur par défautComportement
DocPaperSizePaperSizeA4Taille du papier de sortie.
Encoding?FileEncodingnullnull utilise UTF-8.
stringFontInformation""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.

ProjectConfig

Formats : MPP, MPPX, MPX. DPI par défaut : 200.

TypePropriétéValeur par défautComportement
boolDefaultRendertrueImage Gantt native ; false utilise un chemin PDF basé sur du texte.
PdfConfigPdfConfignouvelle instanceParamètres du chemin PDF.
boolExportPdfAtrueSortie PDF/A d’archivage.
MppPaperSizePaperSizeLedgerTaille du papier de sortie du projet.
MppTimeScaleTimeScaleMonthsDays ou Months.
MppFormatPresentationFormatGanttChartGanttChart, TaskUsage, ResourceUsage, ResourceSheet, ou TaskSheet.

Pour une recherche exacte par coordonnées de texte, utilisez DefaultRender = false.

VisioConfig

Formats : VSD, VSDX, VSS, VSSX, VST, VSTX, VDX, VSX, VSDM. DPI par défaut : 200.

TypePropriétéValeur par défautComportement
boolDefaultRendertrueRendu natif du diagramme ; false utilise la redirection PDF.
PdfConfigPdfConfignouvelle instanceParamètres du chemin PDF.
boolExportPdfAtrueSortie PDF/A d’archivage.

HtmlConfig, EpubConfig, MhtConfig et XpsConfig

Les quatre par défaut à 200 DPI et exposent un PdfConfig imbriqué.

ConfigurationFormatsDefaultRenderPropriétés/comportement supplémentaires
HtmlConfigHTML, HTMtrueRendu natif ; utilisez false pour un chemin de recherche PDF basé sur du texte.
EpubConfigEPUBtrueRendu natif ; false utilise le PDF.
MhtConfigMHT, MHTMLtrue sur la classe ; false dans le catalogue automatiqueL’ouverture normale sans configuration utilise la redirection PDF consultable. Une instance par défaut explicitement construite rend nativement.
XpsConfigXPSfalseUtilise le chemin PDF par défaut ; définissez true pour le rendu natif d’image.

Exemples de configuration par famille

csharp
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
    }
};

Sélection par extension

csharp
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 redirect → recherche de texte native pixel‑précise
        case ".HTML": case ".HTM":
            return new HtmlConfig { DefaultRender = false };
        case ".EML": case ".EMLX": case ".MSG":
            return new EmailConfig { DefaultRender = false };
        default:
            return null; // revenir à la configuration par défaut du format
    }
}

Cette page était-elle utile ?