Trabajando con marcas de agua
Trabajando con marcas de agua
Esta guía muestra cómo agregar, configurar y eliminar marcas de agua de documentos en Aspose.Words FOSS para .NET usando el Watermark clase, alcanzada a través de Document.Watermark. Una marca de agua puede ser texto o una imagen, y solo una marca de agua está activa en un documento a la vez – establecer una nueva reemplaza lo que había antes.
Añadiendo una marca de agua de texto
Watermark.SetText(text) añade una marca de agua de texto con formato predeterminado. La sobrecarga SetText(text, options) acepta una instancia TextWatermarkOptions para controlar su apariencia: FontFamily, Color y FontSize controlan el formato del texto, IsSemitrasparent alterna el efecto semitransparente típico de las marcas de agua, y Layout (un valor WatermarkLayout — Horizontal o Diagonal) controla su orientación respecto a la página.
Añadiendo una marca de agua de imagen
Watermark.SetImage(image) añade una marca de agua de imagen a partir de un Image ya cargado. Las sobrecargas que también aceptan una instancia ImageWatermarkOptions — SetImage(image, options), SetImage(imagePath, options) (cargando desde una ruta de archivo) y SetImage(imageStream, options) (cargando desde un Stream) — le permiten controlar Scale (el factor de escala de la imagen, expresado como fracción) y IsWashout (el efecto deslavado que evita que la imagen de la marca de agua domine el contenido de la página).
Comprobando y eliminando una marca de agua
Watermark.Type informa el tipo de marca de agua actual como un valor WatermarkType – Text, Image o None si no hay ninguna marca de agua establecida. Llame a Watermark.Remove() para eliminar la marca de agua actual del documento.
Consejos y Mejores Prácticas
- Verifique
Watermark.Typeantes de asumir que existe una marca de agua – devuelveWatermarkType.Noneen un documento que nunca ha tenido una establecida. - Establecer una nueva marca de agua mediante
SetText()oSetImage()reemplaza cualquier marca de agua existente; no hay forma de tener más de una marca de agua activa a la vez. - Utilice
WatermarkLayout.Diagonalpara reproducir la orientación diagonal predeterminada de la marca de agua de Word, oHorizontalpara una marca de agua que se alinee paralelamente a los bordes de la página. - Prefiera las sobrecargas
ImageWatermarkOptions/TextWatermarkOptionssobre las llamadas simplesSetImage(image)/SetText(text)siempre que necesite controlar la opacidad, escala o fuente – las sobrecargas sin parámetros usan los valores predeterminados de Word.
Problemas Comunes
| Problema | Causa | Solución |
|---|---|---|
| Una nueva marca de agua no se muestra junto a la anterior | SetText()/SetImage() reemplaza la marca de agua existente en lugar de añadir una segunda | Llame a Remove() primero solo si necesita borrarla antes de establecer un tipo diferente; de lo contrario, la sustitución es automática |
| Una marca de agua de imagen sobrecarga el contenido de la página | ImageWatermarkOptions.IsWashout quedó deshabilitado | Establezca IsWashout en true al construir el ImageWatermarkOptions |
| La fuente de la marca de agua de texto no coincide con la tipografía prevista | TextWatermarkOptions.FontFamily no se configuró (o estaba escrito incorrectamente) | Establezca FontFamily a un nombre de fuente disponible en el entorno de renderizado |
FAQ
¿Cómo verifico si un documento ya tiene una marca de agua?
Lee Document.Watermark.Type; devuelve WatermarkType.Text, WatermarkType.Image o WatermarkType.None.
¿Cómo elimino una marca de agua?
Llama a Document.Watermark.Remove().
¿Puedo controlar la transparencia de la marca de agua?
Sí — para marcas de agua de texto, establece TextWatermarkOptions.IsSemitrasparent; para marcas de agua de imagen, establece ImageWatermarkOptions.IsWashout.
¿Cómo cargo una marca de agua de imagen desde el disco en lugar de un Image en memoria?
Utiliza la sobrecarga Watermark.SetImage(imagePath, options), pasando la ruta del archivo como una cadena junto con una instancia de ImageWatermarkOptions.
API Reference Resumen
| Clase / Enumeración | Descripción |
|---|---|
Watermark | Marca de agua del documento, a través de Document.Watermark; SetText(), SetImage(), Remove(), Type |
WatermarkType | Enumeración que identifica el tipo actual de marca de agua: Text, Image, None |
WatermarkLayout | Enumeración para la orientación de la marca de agua: Horizontal, Diagonal |
TextWatermarkOptions | Formato de marca de agua de texto: FontFamily, Color, FontSize, IsSemitrasparent, Layout |
ImageWatermarkOptions | Opciones de marca de agua de imagen: Scale, IsWashout |