Agregar marca de agua a PowerPoint C#

Las marcas de agua se utilizan comúnmente para especificar la propiedad o para evitar el uso no autorizado de los documentos. Además, también se utilizan para mostrar el estado de un documento, como un manuscrito, un borrador, etc. En este artículo, demostraremos cómo proteger las presentaciones de PowerPoint mediante la aplicación de marcas de agua mediante programación. En particular, aprenderá cómo agregar una marca de agua de texto o imagen a las diapositivas de PowerPoint usando C#.

API de C# para agregar marcas de agua a las diapositivas de PowerPoint

Para agregar marcas de agua a las diapositivas de PowerPoint, usaremos Aspose.Slides for .NET. Es una API rica en funciones que le permite crear documentos de presentación desde las aplicaciones .NET. Además, también le permite manipular los archivos de presentación existentes. Puede descargar la API o instalarla mediante NuGet.

PM> Install-Package Aspose.Slides.NET

Agregar marca de agua de texto a las diapositivas de PowerPoint en C#

Los siguientes son los pasos para agregar una marca de agua de texto a las diapositivas de PowerPoint usando C#.

  • Primero, cargue la presentación de PowerPoint usando la clase Presentation.
  • Obtenga la referencia de la diapositiva a la que desea agregar la marca de agua en el objeto ISlide.
  • Calcular la posición de la marca de agua.
  • Agregue una nueva forma automática a la colección Formas de la diapositiva y obtenga su referencia en el objeto IAutoForma.
  • Agregue un marco de texto a la forma y configure su texto usando el método IAutoShape.AddTextFrame(string).
  • Establezca el tamaño de fuente, el color y el ángulo de rotación de la marca de agua.
  • Bloquee la marca de agua para evitar su eliminación o modificación.
  • Finalmente, guarde el archivo de PowerPoint actualizado usando el método Presentation.Save(string, SaveFormat).

El siguiente ejemplo de código muestra cómo agregar una marca de agua de texto a las diapositivas de PowerPoint.

// Cargar presentación 
Presentation presentation = new Presentation("presentation.pptx");

// Obtener referencia de la diapositiva
ISlide slide = presentation.Slides[0];

// Obtenga el centro de la diapositiva y calcule la posición de la marca de agua
PointF center = new PointF(presentation.SlideSize.Size.Width / 2, presentation.SlideSize.Size.Height / 2);
float width = 300;
float height = 300;
float x = center.X - width / 2;
float y = center.Y - height / 2;

// Agregar forma de marca de agua
IAutoShape watermarkShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, x, y, width, height);

// Establecer tipo de relleno
watermarkShape.FillFormat.FillType = FillType.NoFill;
watermarkShape.LineFormat.FillFormat.FillType = FillType.NoFill;

// Establecer ángulo de rotación
watermarkShape.Rotation = -45;
            
// Establecer texto
ITextFrame watermarkTextFrame = watermarkShape.AddTextFrame("Watermark");
IPortion watermarkPortion = watermarkTextFrame.Paragraphs[0].Portions[0];

// Establecer el tamaño de fuente y el tipo de relleno de la marca de agua
watermarkPortion.PortionFormat.FontHeight = 52;
watermarkPortion.PortionFormat.FillFormat.FillType = FillType.Solid;
int alpha = 150, red = 200, green = 200, blue = 200;
watermarkPortion.PortionFormat.FillFormat.SolidFillColor.Color = System.Drawing.Color.FromArgb(alpha, red, green, blue);

// Bloquear formas para que no se modifiquen
watermarkShape.ShapeLock.SelectLocked = true;
watermarkShape.ShapeLock.SizeLocked = true;
watermarkShape.ShapeLock.TextLocked = true;
watermarkShape.ShapeLock.PositionLocked = true;
watermarkShape.ShapeLock.GroupingLocked = true;

// Guardar la presentación
presentation.Save("watermarked-presentation.pptx", SaveFormat.Pptx);

Producción

La siguiente es la captura de pantalla de la diapositiva de PowerPoint después de agregar la marca de agua.

Agregar marca de agua a las diapositivas de PowerPoint en C#

Agregue una marca de agua de imagen a las diapositivas de PowerPoint en C#

Los siguientes son los pasos para agregar una marca de agua de imagen a las diapositivas de PowerPoint en C#.

  • Primero, cargue la presentación de PowerPoint usando la clase Presentation.
  • Obtenga la referencia de la diapositiva a la que desea agregar la marca de agua en el objeto ISlide.
  • Calcular la posición de la marca de agua.
  • Agregue una imagen a la presentación y obtenga su referencia en el objeto IPPImage.
  • Agregue una nueva forma automática a la colección Formas de la diapositiva y obtenga su referencia en el objeto IAutoForma.
  • Establezca IAutoShape.FillFormat.FillType en FillType.Picture.
  • Configure la imagen de la marca de agua asignando el objeto IPPImage a la propiedad IAutoShape.FillFormat.PictureFillFormat.Picture.Image.
  • Bloquee la marca de agua para evitar su eliminación o modificación.
  • Finalmente, guarde el archivo de PowerPoint actualizado usando el método Presentation.Save(string, SaveFormat).

El siguiente ejemplo de código muestra cómo agregar una marca de agua de imagen a las diapositivas de PowerPoint.

// Cargar presentación 
Presentation presentation = new Presentation("presentation.pptx");

// Obtener referencia de la diapositiva
ISlide slide = presentation.Slides[0];

// Obtenga el centro de la diapositiva y calcule la posición de la marca de agua
PointF center = new PointF(presentation.SlideSize.Size.Width / 2, presentation.SlideSize.Size.Height / 2);
float width = 300;
float height = 300;
float x = center.X - width / 2;
float y = center.Y - height / 2;

// Cargar imagen
IPPImage image = presentation.Images.AddImage(File.ReadAllBytes("watermark.png"));

// Agregar forma de marca de agua y establecer imagen
IAutoShape watermarkShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, x, y, width, height);
watermarkShape.FillFormat.FillType = FillType.Picture;
watermarkShape.FillFormat.PictureFillFormat.Picture.Image = image;
watermarkShape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch;         
watermarkShape.LineFormat.FillFormat.FillType = FillType.NoFill;

// Bloquear formas para que no se modifiquen
watermarkShape.ShapeLock.SelectLocked = true;
watermarkShape.ShapeLock.SizeLocked = true;
watermarkShape.ShapeLock.TextLocked = true;
watermarkShape.ShapeLock.PositionLocked = true;
watermarkShape.ShapeLock.GroupingLocked = true;

// Guardar la presentación
presentation.Save("watermarked-presentation.pptx", SaveFormat.Pptx);

Obtenga una licencia de API gratuita

Puede usar Aspose.Slides for .NET sin limitaciones de evaluación solicitando una licencia temporal.

Conclusión

En este artículo, ha aprendido cómo agregar una marca de agua a las diapositivas de PowerPoint usando C#. La guía paso a paso y los ejemplos de código han demostrado cómo agregar marcas de agua de texto e imágenes a las presentaciones de PowerPoint. Además, puede consultar la documentación para explorar otras funciones de la API. Además, no dude en hacernos saber sus consultas a través de nuestro foro.

Ver también

Información: Es posible que desee consultar las herramientas en línea gratuitas Aspose.Slides Agregar marca de agua a PowerPoint y Eliminar marca de agua de PowerPoint.