Lavorare con le filigrane
Lavorare con le filigrane
Questa guida mostra come aggiungere, configurare e rimuovere le filigrane dei documenti in Aspose.Words FOSS per .NET usando il Watermark classe, raggiunta tramite Document.Watermark. Una filigrana può essere testo o un’immagine, e solo una filigrana è attiva su un documento alla volta – impostarne una nuova sostituisce quella precedente.
Aggiungere una filigrana di testo
Watermark.SetText(text) aggiunge una filigrana di testo con formattazione predefinita. La sovraccarico SetText(text, options) accetta un’istanza TextWatermarkOptions per controllarne l’aspetto: FontFamily, Color e FontSize controllano la formattazione del testo, IsSemitrasparent commuta l’effetto semitrasparente tipico delle filigrane, e Layout (un valore WatermarkLayout — Horizontal o Diagonal) controlla la sua orientazione rispetto alla pagina.
Aggiungere una filigrana immagine
Watermark.SetImage(image) aggiunge una filigrana immagine da un Image già caricato. Le versioni sovraccaricate che accettano anche un’istanza ImageWatermarkOptions — SetImage(image, options), SetImage(imagePath, options) (caricamento da un percorso file) e SetImage(imageStream, options) (caricamento da un Stream) — ti permettono di controllare Scale (il fattore di scala dell’immagine, espresso come frazione) e IsWashout (l’effetto sbiadito che impedisce a un’immagine di filigrana di sovrastare il contenuto della pagina).
Verifica e rimozione di una filigrana
Watermark.Type riporta il tipo di filigrana corrente come un valore WatermarkType – Text, Image o None se nessuna filigrana è impostata. Chiama Watermark.Remove() per rimuovere la filigrana corrente dal documento.
Suggerimenti e migliori pratiche
- Verifica
Watermark.Typeprima di presumere che una filigrana esista – restituisceWatermarkType.Nonesu un documento che non ne ha mai avuto una impostata. - Impostare una nuova filigrana tramite
SetText()oSetImage()sostituisce qualsiasi filigrana esistente; non è possibile avere più di una filigrana attiva alla volta. - Usa
WatermarkLayout.Diagonalper riprodurre l’orientamento diagonale predefinito della filigrana di Word, oHorizontalper una filigrana che corre parallela ai bordi della pagina. - Preferisci le overload
ImageWatermarkOptions/TextWatermarkOptionsrispetto alle chiamate sempliciSetImage(image)/SetText(text)ogni volta che devi controllare l’opacità, la scala o il font – le overload senza parametri usano le impostazioni predefinite di Word.
Problemi comuni
| Problema | Cause | Correzione |
|---|---|---|
| Una nuova filigrana non viene visualizzata accanto a quella vecchia | SetText()/SetImage() sostituisce la filigrana esistente anziché aggiungerne una seconda | Chiama Remove() per primo solo se è necessario cancellarla prima di impostare un tipo diverso; altrimenti la sostituzione è automatica |
| Una filigrana immagine sovrasta il contenuto della pagina | ImageWatermarkOptions.IsWashout è stato lasciato disabilitato | Imposta IsWashout su true quando si costruisce il ImageWatermarkOptions |
| Il font della filigrana testuale non corrisponde al tipo di carattere previsto | TextWatermarkOptions.FontFamily non è stato impostato (o è stato scritto in modo errato) | Imposta FontFamily su un nome di font disponibile nell’ambiente di rendering |
FAQ
Come verifico se un documento ha già un watermark?
Leggi Document.Watermark.Type; restituisce WatermarkType.Text, WatermarkType.Image o WatermarkType.None.
Come rimuovo un watermark?
Chiama Document.Watermark.Remove().
Posso controllare la trasparenza del watermark?
Sì – per i watermark di testo, imposta TextWatermarkOptions.IsSemitrasparent; per i watermark di immagine, imposta ImageWatermarkOptions.IsWashout.
Come carico un watermark immagine dal disco invece di un Image in-memory?
Usa il sovraccarico Watermark.SetImage(imagePath, options), passando il percorso del file come stringa insieme a un’istanza ImageWatermarkOptions.
API Reference Riepilogo
| Classe / Enum | Descrizione |
|---|---|
Watermark | Filigrana del documento, tramite Document.Watermark; SetText(), SetImage(), Remove(), Type |
WatermarkType | Enum che identifica il tipo di filigrana corrente: Text, Image, None |
WatermarkLayout | Enum per l’orientamento della filigrana: Horizontal, Diagonal |
TextWatermarkOptions | Formattazione della filigrana testuale: FontFamily, Color, FontSize, IsSemitrasparent, Layout |
ImageWatermarkOptions | Opzioni filigrana immagine: Scale, IsWashout |