Trabalhando com marcas d'água
Trabalhando com Marcas d’água
Este guia mostra como adicionar, configurar e remover marcas d’água de documentos em Aspose.Words FOSS para .NET usando o Watermark classe, acessada através de Document.Watermark. Uma marca d’água pode ser texto ou imagem, e apenas uma marca d’água está ativa em um documento por vez – definir uma nova substitui a que estava antes.
Adicionando uma Marca d’água de Texto
Watermark.SetText(text) adiciona uma marca d’água de texto com formatação padrão. A sobrecarga SetText(text, options) recebe uma instância TextWatermarkOptions para controlar sua aparência: FontFamily, Color e FontSize controlam a formatação do texto, IsSemitrasparent alterna o efeito semitransparente típico das marcas d’água, e Layout (um valor WatermarkLayout – Horizontal ou Diagonal) controla sua orientação em relação à página.
Adicionando uma Marca d’água de Imagem
Watermark.SetImage(image) adiciona uma marca d’água de imagem a partir de um Image já carregado. Sobrecargas que também recebem uma instância ImageWatermarkOptions – SetImage(image, options), SetImage(imagePath, options) (carregando a partir de um caminho de arquivo) e SetImage(imageStream, options) (carregando a partir de um Stream) – permitem controlar Scale (o fator de escala da imagem, expresso como fração) e IsWashout (o efeito desbotado que impede que a imagem da marca d’água domine o conteúdo da página).
Verificando e Removendo uma Marca d’água
Watermark.Type relata o tipo de marca d’água atual como um valor WatermarkType – Text, Image ou None se nenhuma marca d’água estiver definida. Chame Watermark.Remove() para remover a marca d’água atual do documento.
Dicas e Melhores Práticas
- Verifique
Watermark.Typeantes de presumir que uma marca d’água existe – ele retornaWatermarkType.Noneem um documento que nunca teve uma definida. - Definir uma nova marca d’água via
SetText()ouSetImage()substitui qualquer marca d’água existente; não há como ter mais de uma marca d’água ativa ao mesmo tempo. - Use
WatermarkLayout.Diagonalpara reproduzir a orientação diagonal padrão da marca d’água do Word, ouHorizontalpara uma marca d’água que corre paralela às bordas da página. - Prefira as sobrecargas
ImageWatermarkOptions/TextWatermarkOptionsem vez das chamadas simplesSetImage(image)/SetText(text)sempre que precisar controlar opacidade, escala ou fonte – as sobrecargas sem parâmetros usam os padrões do Word.
Problemas Comuns
| Problema | Causa | Correção |
|---|---|---|
| Um novo watermark não aparece ao lado do antigo | SetText()/SetImage() substitui o watermark existente em vez de adicionar um segundo | Chame Remove() primeiro somente se precisar limpá-lo antes de definir um tipo diferente; caso contrário, a substituição é automática |
| Um watermark de imagem sobrecarrega o conteúdo da página | ImageWatermarkOptions.IsWashout foi deixado desativado | Defina IsWashout como true ao construir o ImageWatermarkOptions |
| A fonte do watermark de texto não corresponde ao tipo de letra pretendido | TextWatermarkOptions.FontFamily não foi definido (ou foi escrito incorretamente) | Defina FontFamily como um nome de fonte disponível no ambiente de renderização |
FAQ
Como verifico se um documento já tem marca d’água?
Leia Document.Watermark.Type; ele retorna WatermarkType.Text, WatermarkType.Image ou WatermarkType.None.
Como removo uma marca d’água?
Chame Document.Watermark.Remove().
Posso controlar a transparência da marca d’água?
Sim – para marcas d’água de texto, defina TextWatermarkOptions.IsSemitrasparent; para marcas d’água de imagem, defina ImageWatermarkOptions.IsWashout.
Como carrego uma marca d’água de imagem do disco em vez de um Image em memória?
Use a sobrecarga Watermark.SetImage(imagePath, options), passando o caminho do arquivo como string junto com uma instância ImageWatermarkOptions.
API Reference Resumo
| Classe / Enum | Descrição |
|---|---|
Watermark | Marca d’água de documento, via Document.Watermark; SetText(), SetImage(), Remove(), Type |
WatermarkType | Enum que identifica o tipo atual de marca d’água: Text, Image, None |
WatermarkLayout | Enum para orientação da marca d’água: Horizontal, Diagonal |
TextWatermarkOptions | Formatação de marca d’água de texto: FontFamily, Color, FontSize, IsSemitrasparent, Layout |
ImageWatermarkOptions | Opções de marca d’água de imagem: Scale, IsWashout |