Saltar al pie de página
USANDO IRONWORD

Cómo Añadir Marca de Agua a un Archivo Word en C#

En la empresa moderna de hoy en día, los documentos de Word son sinónimos de información y llevan información importante entre divisiones y empresas. Sin embargo, con los documentos digitales, también existe el riesgo de que alguien manipule o falsifique un documento de Word inválido o falso.

Como tal, una forma de combatirlo es agregar marcas de agua a los documentos de Word. Sin embargo, esto no aumenta la seguridad de un documento de Word. Una marca de agua permite la diferenciación primaria entre el documento de Word real y el falsificado. Además, agregar una marca de agua programáticamente es bastante desafiante, ya que la mayoría de las instancias requieren que los usuarios utilicen Microsoft Word manualmente y agreguen una marca de agua en cada documento, lo que hace que sea un proceso dolorosamente largo.

Afortunadamente, IronWord puede agregar imágenes programáticamente como marcas de agua en Word. Esto permite a los desarrolladores agregarlas en el flujo de trabajo programáticamente, reduciendo el trabajo repetitivo y aumentando la eficiencia y consistencia.

Aunque hay varios tipos de marcas de agua, como la marca de agua de forma y la marca de agua de texto, este artículo solo usará marcas de agua de imagen y foto, discutirá IronWord como una biblioteca y proporcionará ejemplos prácticos de agregar imágenes al documento de Word.

Cómo agregar marcas de agua a documentos de Word

Palabra de hierro

Cómo agregar marca de agua a un archivo de Word en C#: Figura 1 - IronWord: La biblioteca C# DOCX

IronWord es una biblioteca C# Docx confiable y fácil de usar que permite a los desarrolladores crear y editar documentos de Word usando C# sin depender de dependencias tradicionales como Microsoft Office o Word Interop.

Además, tiene documentación extensa y es totalmente compatible con .NET 8, 7, 6, Framework, Core y Azure. Esto lo hace compatible entre plataformas con la mayoría de las aplicaciones y flexible sin importar la aplicación que esté manejando.

Trabajar con marcas de agua de imagen

Clave de licencia

Por favor, recuerde que IronWord requiere una clave de licencia para operar. Puede obtener una clave como parte de una prueba gratuita visitando este enlace.

// Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
// Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";
' Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"
$vbLabelText   $csharpLabel

Después de recibir una clave de prueba, configura esta variable en tu proyecto.

Agregar marca de agua de imagen a un documento de Word

Examinemos un ejemplo de agregar una marca de agua de imagen a un documento de Word. No mencionaremos static void main para reducir el código repetitivo, pero solo mostraremos el código principal.

Usaremos esta imagen como la imagen de marca de agua y la agregaremos al documento de Word.

Cómo agregar marca de agua a un archivo de Word en C#: Figura 2 - Imagen de entrada

using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;

// Set the license key
IronWord.License.LicenseKey = "YOUR-KEY";

// Create a new Word document
WordDocument doc = new WordDocument();

// Load the image to be used as a watermark
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");

// Set the width and height of the image
image.Width = 500; // In pixels
image.Height = 250; // In pixels

// Add the image as a watermark to the document
doc.AddImage(image);

// Save the document as a .docx file
doc.SaveAs("documentImageResized.docx");
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;

// Set the license key
IronWord.License.LicenseKey = "YOUR-KEY";

// Create a new Word document
WordDocument doc = new WordDocument();

// Load the image to be used as a watermark
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");

// Set the width and height of the image
image.Width = 500; // In pixels
image.Height = 250; // In pixels

// Add the image as a watermark to the document
doc.AddImage(image);

// Save the document as a .docx file
doc.SaveAs("documentImageResized.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums

' Set the license key
IronWord.License.LicenseKey = "YOUR-KEY"

' Create a new Word document
Dim doc As New WordDocument()

' Load the image to be used as a watermark
Dim image As New IronWord.Models.Image("ironword.png")

' Set the width and height of the image
image.Width = 500 ' In pixels
image.Height = 250 ' In pixels

' Add the image as a watermark to the document
doc.AddImage(image)

' Save the document as a .docx file
doc.SaveAs("documentImageResized.docx")
$vbLabelText   $csharpLabel
  1. Primero creamos una nueva instancia de WordDocument. Esta es la clase de documento de IronWord. En los siguientes pasos, creamos una nueva variable llamada doc y agregamos la marca de agua de la imagen a ella.
  2. Cargamos nuestra imagen de entrada de arriba en una nueva clase Image.
  3. Establecemos el ancho y la altura de la imagen en consecuencia. Esta propiedad de ancho y altura permite a los usuarios lograr la escala de la marca de agua de la imagen. En nuestro ejemplo, el ancho se establece en 500 y la altura en 250.
  4. Agregamos la marca de agua de la imagen al documento usando AddImage.
  5. Finalmente, guardamos y exportamos el documento documentImageResized como un archivo de Word.

El resultado del documento de Word está a continuación.

Cómo agregar marca de agua a un archivo de Word en C#: Figura 3 - Documento de Word de salida

Tenga en cuenta que las dimensiones establecidas en el ejemplo están hechas para ajustarse a todo el documento de Word y mostrar las capacidades de IronWord.

Además de agregar la imagen, podemos usar la propiedad WrapText para asegurarnos de que la marca de agua de la imagen permanezca detrás del texto en el fondo.

// Set the image to wrap behind the text
image.WrapText = WrapText.BehindText;
// Set the image to wrap behind the text
image.WrapText = WrapText.BehindText;
' Set the image to wrap behind the text
image.WrapText = WrapText.BehindText
$vbLabelText   $csharpLabel

A través de esta propiedad, la marca de agua de la imagen debe envolverse detrás del texto, mostrando solo en el fondo, permitiendo que el texto no sea obstaculizado.

Además, los desarrolladores pueden intentar más personalizaciones para la marca de agua de la imagen para hacerla única. IronWord le permite desviar las dimensiones de la imagen en relación con el documento de Word y gestionar la posición de la marca de agua de la imagen también.

using IronWord;
using IronWord.Models;

// Set the license key
IronWord.License.LicenseKey = "YOUR-KEY";

// Create a new Word document
WordDocument doc = new WordDocument();

// Load the image to be used as a watermark
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");

// Create an ElementPosition object to set the position
ElementPosition elementPosition = new ElementPosition();
elementPosition.SetXPosition(50);
elementPosition.SetYPosition(50);

// Set the dimensions of the image
image.Width = 50; // In pixels
image.Height = 50; // In pixels

// Set the image position using the ElementPosition object
image.Position = elementPosition;

// Offset the image from each side by 100 pixels
image.DistanceFromTop = 100;
image.DistanceFromBottom = 100;
image.DistanceFromLeft = 100;
image.DistanceFromRight = 100;
using IronWord;
using IronWord.Models;

// Set the license key
IronWord.License.LicenseKey = "YOUR-KEY";

// Create a new Word document
WordDocument doc = new WordDocument();

// Load the image to be used as a watermark
IronWord.Models.Image image = new IronWord.Models.Image("ironword.png");

// Create an ElementPosition object to set the position
ElementPosition elementPosition = new ElementPosition();
elementPosition.SetXPosition(50);
elementPosition.SetYPosition(50);

// Set the dimensions of the image
image.Width = 50; // In pixels
image.Height = 50; // In pixels

// Set the image position using the ElementPosition object
image.Position = elementPosition;

// Offset the image from each side by 100 pixels
image.DistanceFromTop = 100;
image.DistanceFromBottom = 100;
image.DistanceFromLeft = 100;
image.DistanceFromRight = 100;
Imports IronWord
Imports IronWord.Models

' Set the license key
IronWord.License.LicenseKey = "YOUR-KEY"

' Create a new Word document
Dim doc As New WordDocument()

' Load the image to be used as a watermark
Dim image As New IronWord.Models.Image("ironword.png")

' Create an ElementPosition object to set the position
Dim elementPosition As New ElementPosition()
elementPosition.SetXPosition(50)
elementPosition.SetYPosition(50)

' Set the dimensions of the image
image.Width = 50 ' In pixels
image.Height = 50 ' In pixels

' Set the image position using the ElementPosition object
image.Position = elementPosition

' Offset the image from each side by 100 pixels
image.DistanceFromTop = 100
image.DistanceFromBottom = 100
image.DistanceFromLeft = 100
image.DistanceFromRight = 100
$vbLabelText   $csharpLabel

Similar al código anterior, establecemos las dimensiones de las ubicaciones x e y de la imagen en 50. También desfasamos las dimensiones de cada lado por 100px para crear un margen alrededor.

Conclusión

Cómo agregar marca de agua a un archivo de Word en C#: Figura 4 - Información de licencia de IronWord

A lo largo de los ejemplos, demostramos lo sencillo que es usar la biblioteca IronWord para manipular y leer documentos de Word programáticamente en C#. La flexibilidad y escalabilidad de la biblioteca la hacen una herramienta valiosa que permite a los desarrolladores utilizar IronWord en ejemplos prácticos y de la vida real, como agregar una marca de agua y una marca de agua de texto. Es esencial comprender cómo Word trabaja con otras aplicaciones porque proporciona a los desarrolladores soluciones adicionales a sus desafíos.

IronWord ofrece una licencia de prueba gratuita.

Preguntas Frecuentes

¿Cómo puedo agregar programáticamente una marca de agua a un documento de Word en C#?

Usando IronWord, los desarrolladores pueden agregar marcas de agua de imagen a documentos de Word creando una instancia de documento de Word, cargando una imagen y usando el método AddImage para insertarla como marca de agua.

¿Cuáles son los beneficios de usar una marca de agua en documentos de Word?

Las marcas de agua ayudan a diferenciar documentos auténticos de falsificaciones y mejoran la gestión de documentos al marcar los documentos como borradores, confidenciales o finalizados.

¿Cómo maneja IronWord las marcas de agua de imagen en documentos de Word?

IronWord permite a los desarrolladores cargar imágenes, establecer sus dimensiones y posiciones, y agregarlas a documentos de Word como marcas de agua. La imagen puede posicionarse detrás del texto usando la propiedad WrapText.BehindText.

¿Qué versiones de .NET son compatibles con IronWord?

IronWord es compatible con .NET 8, 7, 6, el .NET Framework, .NET Core y Azure, lo que lo hace altamente versátil y compatible con múltiples plataformas.

¿Se requiere licencia para usar IronWord?

Sí, IronWord requiere una clave de licencia para su funcionalidad completa. Puede obtener una clave de prueba desde el sitio web de IronWord para una evaluación inicial.

¿Cómo puede personalizar la posición de una marca de agua de imagen en un documento de Word usando IronWord?

IronWord permite personalizar la posición de la marca de agua de la imagen configurando las coordenadas x e y y ajustando las dimensiones para desplazar la imagen de cada lado por un valor de píxeles específico.

¿Se puede usar IronWord para agregar marcas de agua de texto a documentos de Word?

Aunque el artículo se centra en marcas de agua de imagen, IronWord también puede ser utilizado para agregar marcas de agua de texto renderizando el texto como una imagen y aplicándolo de manera similar a las marcas de agua de imagen.

¿Qué ejemplos prácticos proporciona el artículo para usar IronWord?

El artículo proporciona ejemplos de creación de documentos de Word, carga de imágenes como marcas de agua, ajuste de sus dimensiones y configuración de sus posiciones detrás del texto para demostrar las capacidades de IronWord.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más