Agregar marca de agua a las diapositivas de PowerPoint usando C++

Una marca de agua identifica el estado del documento con textos como confidencial, borrador, etc. y dificulta la copia del documento original. Las marcas de agua también se utilizan para especificar la propiedad de un documento al mostrar el nombre o el logotipo de la empresa. Las marcas de agua en los archivos de PowerPoint pueden estar basadas tanto en imágenes como en texto. En este artículo, aprenderá cómo agregar marcas de agua de texto e imágenes a las diapositivas de PowerPoint usando C++.

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

Usaremos la API Aspose.Slides for C++ para agregar una marca de agua a las diapositivas de PowerPoint. Es una API robusta y rica en funciones que admite la creación, lectura y actualización de archivos de PowerPoint sin necesidad de software adicional. Puede instalar la API a través de NuGet o descargarla directamente desde la sección Descargas.

PM> Install-Package Aspose.Slides.Cpp

Agregar marca de agua de texto a las diapositivas de PowerPoint usando C++

Puede agregar una marca de agua de texto a las diapositivas de PowerPoint siguiendo los pasos que se detallan a continuación.

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

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

// Cargar el archivo de presentación
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Acceder a la diapositiva maestra
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;

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

// Establecer tipo de relleno
watermarkShape->get_FillFormat()->set_FillType(FillType::NoFill);
watermarkShape->get_LineFormat()->get_FillFormat()->set_FillType(FillType::NoFill);

// Establecer ángulo de rotación
watermarkShape->set_Rotation(-45);

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

// Establecer fuente y color
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 para que no se modifiquen
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);

// Guardar presentación
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Imagen de la salida generada por el código de muestra

Imagen de la salida generada por el código de muestra

Agregue una marca de agua de imagen a las diapositivas de PowerPoint usando C++

Para agregar una marca de agua de imagen a las diapositivas de PowerPoint, siga los pasos que se detallan a continuación.

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

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

// Cargar el archivo de presentación
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Acceder a la diapositiva máser
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;

// Agregar 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"));

// Establecer tipo de relleno
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 para que no se modifiquen
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);

// Guardar presentación
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Imagen de la salida generada por el código de muestra

Imagen de la salida generada por el código de muestra

Obtenga una licencia gratis

Para probar la API sin limitaciones de evaluación, puede solicitar una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido cómo agregar una marca de agua a las diapositivas de PowerPoint usando C++. Los ejemplos de código compartido muestran cómo agregar fácilmente marcas de agua de imagen y texto a las diapositivas de PowerPoint usando la API de Aspose.Slides to C++. Es una API potente que proporciona un montón de funciones adicionales para trabajar con archivos PPTX/PPT de PowerPoint. Puede explorar la API en detalle visitando la documentación oficial. Si tiene alguna consulta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.

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.