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
- Agregar marca de agua de texto a las diapositivas de PowerPoint usando C++
- Agregar marca de agua de imagen a las diapositivas de PowerPoint
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.
- En primer lugar, cargue el archivo de PowerPoint utilizando la clase Presentation.
- Recuperar la diapositiva maestra.
- Calcular la posición de la marca de agua.
- Agregue una forma usando el método IMasterSlide->getShapes()->AddAutoShape(ShapeType shapeType, float x, float y, float width, float height).
- Agregue un marco de texto a la forma usando el método IAutoShape->AddTextFrame(System::String text).
- 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 que no se pueda mover ni eliminar.
- Finalmente, guarde el archivo de PowerPoint usando el método Presentation->Save(System::String fname, Export::SaveFormat format).
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);
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.
- En primer lugar, cargue el archivo de PowerPoint utilizando la clase Presentation.
- Recuperar la diapositiva maestra.
- Calcular la posición de la marca de agua.
- Agregue una forma usando el método IMasterSlide->getShapes()->AddAutoShape(ShapeType shapeType, float x, float y, float width, float height).
- Agregue la imagen y obtenga su referencia en un objeto IPPImage.
- Configure la imagen de marca de agua usando IAutoShape->getFillFormat()->getPictureFillFormat()->getPicture()->setImage(System::SharedPtr valor) método.
- Configure el tipo de relleno y el modo de relleno de imagen de IAutoShape en FillType::Picture y PictureFillMode::Stretch, respectivamente.
- Bloquee la marca de agua para que no se pueda mover ni eliminar.
- Finalmente, guarde el archivo de PowerPoint usando el método Presentation->Save(System::String fname, Export::SaveFormat format).
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);
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
- Aplicar animación a texto en PowerPoint usando C++
- Cree SmartArt en presentaciones de PowerPoint usando C++
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.