Travailler avec les filigranes
Travailler avec les filigranes
Ce guide montre comment ajouter, configurer et supprimer les filigranes de documents dans Aspose.Words FOSS pour .NET en utilisant le Watermark classe, accessible via Document.Watermark. Un filigrane peut être du texte ou une image, et un seul filigrane est actif sur un document à la fois – le fait de définir un nouveau remplace celui qui était présent auparavant.
Ajout d’un filigrane texte
Watermark.SetText(text) ajoute un filigrane texte avec le formatage par défaut. La surcharge SetText(text, options) accepte une instance TextWatermarkOptions pour contrôler son apparence: FontFamily, Color et FontSize contrôlent le formatage du texte, IsSemitrasparent active l’effet semi-transparent typique des filigranes, et Layout (une valeur WatermarkLayout – Horizontal ou Diagonal) contrôle son orientation par rapport à la page.
Ajout d’un filigrane d’image
Watermark.SetImage(image) ajoute un filigrane image à partir d’un Image déjà chargé. Les surcharges qui acceptent également une instance ImageWatermarkOptions – SetImage(image, options), SetImage(imagePath, options) (chargement depuis un chemin de fichier), et SetImage(imageStream, options) (chargement depuis un Stream) – vous permettent de contrôler Scale (le facteur d’échelle de l’image, exprimé sous forme de fraction) et IsWashout (l’effet délavé qui empêche une image de filigrane de dominer le contenu de la page).
Vérification et suppression d’un filigrane
Watermark.Type indique le type de filigrane actuel sous forme de valeur WatermarkType – Text, Image ou None si aucun filigrane n’est défini. Appelez Watermark.Remove() pour supprimer le filigrane actuel du document.
Conseils et meilleures pratiques
- Vérifiez
Watermark.Typeavant de supposer qu’un filigrane existe – il renvoieWatermarkType.Nonesur un document qui n’en a jamais eu. - Définir un nouveau filigrane via
SetText()ouSetImage()remplace tout filigrane existant ; il n’est pas possible d’avoir plus d’un filigrane actif à la fois. - Utilisez
WatermarkLayout.Diagonalpour reproduire l’orientation diagonale par défaut du filigrane de Word, ouHorizontalpour un filigrane parallèle aux bords de la page. - Privilégiez les surcharges
ImageWatermarkOptions/TextWatermarkOptionsplutôt que les appels simplesSetImage(image)/SetText(text)chaque fois que vous devez contrôler l’opacité, l’échelle ou la police – les surcharges sans paramètres utilisent les valeurs par défaut de Word.
Problèmes courants
| Problème | Cause | Correction |
|---|---|---|
| Un nouveau filigrane ne s’affiche pas à côté de l’ancien | SetText()/SetImage() remplace le filigrane existant plutôt que d’en ajouter un second | Appelez Remove() d’abord uniquement si vous devez le nettoyer avant de définir un autre type ; sinon le remplacement est automatique |
| Un filigrane image submerge le contenu de la page | ImageWatermarkOptions.IsWashout était laissé désactivé | Définissez IsWashout sur true lors de la construction du ImageWatermarkOptions |
| La police du filigrane texte ne correspond pas à la police prévue | TextWatermarkOptions.FontFamily n’a pas été défini (ou était mal orthographié) | Définissez FontFamily sur un nom de police disponible dans l’environnement de rendu |
FAQ
Comment vérifier si un document possède déjà un filigrane?
Lire Document.Watermark.Type; il renvoie WatermarkType.Text, WatermarkType.Image ou WatermarkType.None.
Comment supprimer un filigrane?
Appeler Document.Watermark.Remove().
Puis-je contrôler la transparence du filigrane?
Oui — pour les filigranes texte, définir TextWatermarkOptions.IsSemitrasparent; pour les filigranes image, définir ImageWatermarkOptions.IsWashout.
Comment charger un filigrane image depuis le disque au lieu d’un Image en mémoire?
Utilisez la surcharge Watermark.SetImage(imagePath, options), en passant le chemin du fichier en tant que chaîne ainsi qu’une instance ImageWatermarkOptions.
API Reference Résumé
| Classe / Énumération | Description |
|---|---|
Watermark | Filigrane du document, via Document.Watermark ; SetText(), SetImage(), Remove(), Type |
WatermarkType | Énumération identifiant le type actuel de filigrane : Text, Image, None |
WatermarkLayout | Énumération pour l’orientation du filigrane : Horizontal, Diagonal |
TextWatermarkOptions | Mise en forme du filigrane texte : FontFamily, Color, FontSize, IsSemitrasparent, Layout |
ImageWatermarkOptions | Options de filigrane image : Scale, IsWashout |