Adicionar marca d'água a slides do PowerPoint usando C++

Uma marca d’água identifica o estado do documento com textos como confidencial, rascunho, etc., e dificulta a cópia do documento original. As marcas d’água também são usadas para especificar a propriedade de um documento mostrando o nome ou o logotipo da empresa. As marcas d’água em arquivos do PowerPoint podem ser baseadas em imagem ou texto. Neste artigo, você aprenderá como adicionar marcas d’água de texto e imagem a slides do PowerPoint usando C++.

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

Usaremos a API Aspose.Slides for C++ para adicionar marca d’água aos slides do PowerPoint. É uma API robusta e rica em recursos que oferece suporte à criação, leitura e atualização de arquivos do PowerPoint sem a necessidade de software adicional. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção Downloads.

PM> Install-Package Aspose.Slides.Cpp

Adicionar marca d’água de texto a slides do PowerPoint usando C++

Você pode adicionar uma marca d’água de texto aos slides do PowerPoint seguindo as etapas abaixo.

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

// Caminhos de arquivo
const String sourceFilePath = u"SourceDirectory\\Slides\\Presentation2.pptx";
const String outputFilePath = u"OutputDirectory\\AddTextWatermark_out.pptx";

// Carregar o arquivo de apresentação
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Acesse o slide mestre
auto master = presentation->get_Masters()->idx_get(0);

System::Drawing::PointF center(presentation->get_SlideSize()->get_Size().get_Width() / 2, presentation->get_SlideSize()->get_Size().get_Height() / 2);

float width = 300.0f;
float height = 300.0f;

float x = center.get_X() - width / 2;
float y = center.get_Y() - height / 2;

// Adicionar forma
auto watermarkShape = master->get_Shapes()->AddAutoShape(ShapeType::Rectangle, x, y, width, height);

// Definir tipo de preenchimento
watermarkShape->get_FillFormat()->set_FillType(FillType::NoFill);
watermarkShape->get_LineFormat()->get_FillFormat()->set_FillType(FillType::NoFill);

// Definir ângulo de rotação
watermarkShape->set_Rotation(-45);

// Definir texto
auto watermarkTextFrame = watermarkShape->AddTextFrame(u"Watermark");

// Definir fonte e cor
auto watermarkPortion = watermarkTextFrame->get_Paragraphs()->idx_get(0)->get_Portions()->idx_get(0);
watermarkPortion->get_PortionFormat()->set_FontHeight(52.0f);

int32_t alpha = 150, red = 200, green = 200, blue = 200;
watermarkPortion->get_PortionFormat()->get_FillFormat()->set_FillType(FillType::Solid);
watermarkPortion->get_PortionFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::FromArgb(alpha, red, green, blue));

// Bloquear formas de modificação
watermarkShape->get_AutoShapeLock()->set_SelectLocked(true);
watermarkShape->get_AutoShapeLock()->set_SizeLocked(true);
watermarkShape->get_AutoShapeLock()->set_TextLocked(true);
watermarkShape->get_AutoShapeLock()->set_PositionLocked(true);
watermarkShape->get_AutoShapeLock()->set_GroupingLocked(true);

// Salvar apresentação
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Imagem da saída gerada pelo código de amostra

Imagem da saída gerada pelo código de amostra

Adicionar marca d’água de imagem a slides do PowerPoint usando C++

Para adicionar uma marca d’água de imagem aos slides do PowerPoint, siga as etapas abaixo.

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

// Caminhos de arquivo
const String sourceFilePath = u"SourceDirectory\\Slides\\Presentation2.pptx";
const String outputFilePath = u"OutputDirectory\\AddImageWatermark_out.pptx";

// Carregar o arquivo de apresentação
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Acesse o slide maser
auto master = presentation->get_Masters()->idx_get(0);

System::Drawing::PointF center(presentation->get_SlideSize()->get_Size().get_Width() / 2, presentation->get_SlideSize()->get_Size().get_Height() / 2);

float width = 300.0f;
float height = 300.0f;

float x = center.get_X() - width / 2;
float y = center.get_Y() - height / 2;

// Adicionar forma
auto watermarkShape = master->get_Shapes()->AddAutoShape(ShapeType::Rectangle, x, y, width, height);

auto image = presentation->get_Images()->AddImage(File::ReadAllBytes(u"SourceDirectory\\Images\\AsposeLogo.png"));

// Definir tipo de preenchimento
watermarkShape->get_FillFormat()->set_FillType(FillType::Picture);
watermarkShape->get_FillFormat()->get_PictureFillFormat()->get_Picture()->set_Image(image);
watermarkShape->get_FillFormat()->get_PictureFillFormat()->set_PictureFillMode(PictureFillMode::Stretch);

// Bloquear formas de modificação
watermarkShape->get_AutoShapeLock()->set_SelectLocked(true);
watermarkShape->get_AutoShapeLock()->set_SizeLocked(true);
watermarkShape->get_AutoShapeLock()->set_TextLocked(true);
watermarkShape->get_AutoShapeLock()->set_PositionLocked(true);
watermarkShape->get_AutoShapeLock()->set_GroupingLocked(true);

// Salvar apresentação
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Imagem da saída gerada pelo código de amostra

Imagem da saída gerada pelo código de amostra

Obtenha uma licença gratuita

Para experimentar a API sem limitações de avaliação, você pode solicitar uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como adicionar uma marca d’água a slides do PowerPoint usando C++. Os exemplos de código compartilhados mostram como adicionar facilmente marcas d’água de imagem e texto a slides do PowerPoint usando a API Aspose.Slides to C++. É uma API poderosa que fornece vários recursos adicionais para trabalhar com arquivos PowerPoint PPTX/PPT. Você pode explorar a API em detalhes visitando a documentação oficial. Em caso de dúvidas, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.

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.