Adicionar marca d'água ao PowerPoint C#

As marcas d’água são comumente usadas para especificar a propriedade ou para impedir o uso não autorizado dos documentos. Além disso, eles também são usados para exibir o status de um documento, como manuscrito, rascunho, etc. Neste artigo, demonstraremos como proteger apresentações do PowerPoint aplicando marcas d’água programaticamente. Particularmente, você aprenderá como adicionar marca d’água de texto ou imagem a slides do PowerPoint usando C#.

API C# para adicionar marca d’água a slides do PowerPoint

Para adicionar marcas d’água aos slides do PowerPoint, usaremos Aspose.Slides for .NET. É uma API rica em recursos que permite criar documentos de apresentação de dentro dos aplicativos .NET. Além disso, também permite manipular os arquivos de apresentação existentes. Você pode baixar a API ou instalá-la usando NuGet.

PM> Install-Package Aspose.Slides.NET

Adicionar marca d’água de texto a slides do PowerPoint em C#

A seguir estão as etapas para adicionar uma marca d’água de texto aos slides do PowerPoint usando C#.

  • Primeiro, carregue a apresentação do PowerPoint usando a classe Apresentação.
  • Obtenha a referência do slide ao qual deseja adicionar a marca d’água no objeto ISlide.
  • Calcule a posição da marca d’água.
  • Adicione uma nova forma automática à coleção Formas do slide e obtenha sua referência no objeto IAutoForma.
  • Adicione o quadro de texto à forma e defina seu texto usando o método IAutoShape.AddTextFrame(string).
  • Defina o tamanho da fonte, a cor e o ângulo de rotação da marca d’água.
  • Bloqueie a marca d’água para evitar a remoção ou modificação.
  • Por fim, salve o arquivo PowerPoint atualizado usando o método Presentation.Save(string, SaveFormat).

O exemplo de código a seguir mostra como adicionar uma marca d’água de texto aos slides do PowerPoint.

// Carregar apresentação 
Presentation presentation = new Presentation("presentation.pptx");

// Obter referência do slide
ISlide slide = presentation.Slides[0];

// Obtenha o centro do slide e calcule a posição da marca d'água
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;

// Adicionar forma de marca d'água
IAutoShape watermarkShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, x, y, width, height);

// Definir tipo de preenchimento
watermarkShape.FillFormat.FillType = FillType.NoFill;
watermarkShape.LineFormat.FillFormat.FillType = FillType.NoFill;

// Definir ângulo de rotação
watermarkShape.Rotation = -45;
            
// Definir texto
ITextFrame watermarkTextFrame = watermarkShape.AddTextFrame("Watermark");
IPortion watermarkPortion = watermarkTextFrame.Paragraphs[0].Portions[0];

// Defina o tamanho da fonte e o tipo de preenchimento da marca d'água
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 de modificação
watermarkShape.ShapeLock.SelectLocked = true;
watermarkShape.ShapeLock.SizeLocked = true;
watermarkShape.ShapeLock.TextLocked = true;
watermarkShape.ShapeLock.PositionLocked = true;
watermarkShape.ShapeLock.GroupingLocked = true;

// Salve a apresentação
presentation.Save("watermarked-presentation.pptx", SaveFormat.Pptx);

Resultado

A seguir está a captura de tela do slide do PowerPoint depois de adicionar a marca d’água.

Adicionar marca d'água a slides do PowerPoint em C#

Adicionar marca d’água de imagem a slides do PowerPoint em C#

A seguir estão as etapas para adicionar uma marca d’água de imagem aos slides do PowerPoint em C#.

O exemplo de código a seguir mostra como adicionar uma marca d’água de imagem a slides do PowerPoint.

// Carregar apresentação 
Presentation presentation = new Presentation("presentation.pptx");

// Obter referência do slide
ISlide slide = presentation.Slides[0];

// Obtenha o centro do slide e calcule a posição da marca d'água
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;

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

// Adicionar forma de marca d'água e definir imagem
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 de modificação
watermarkShape.ShapeLock.SelectLocked = true;
watermarkShape.ShapeLock.SizeLocked = true;
watermarkShape.ShapeLock.TextLocked = true;
watermarkShape.ShapeLock.PositionLocked = true;
watermarkShape.ShapeLock.GroupingLocked = true;

// Salve a apresentação
presentation.Save("watermarked-presentation.pptx", SaveFormat.Pptx);

Obtenha uma licença de API gratuita

Você pode usar o Aspose.Slides para .NET sem limitações de avaliação solicitando uma licença temporária.

Conclusão

Neste artigo, você aprendeu como adicionar uma marca d’água aos slides do PowerPoint usando C#. O guia passo a passo e os exemplos de código demonstraram como adicionar marcas d’água de texto e imagem a apresentações do PowerPoint. Além disso, você pode consultar a documentação para explorar outros recursos da API. Além disso, sinta-se à vontade para nos informar sobre suas dúvidas por meio do nosso fórum.

Veja também

Info: Você pode querer verificar as ferramentas online Aspose.Slides gratuitas Adicionar marca d’água ao PowerPoint e Remover marca d’água do PowerPoint.