Un filigrane identifie l’état du document avec des textes tels que confidentiel, brouillon, etc., et rend difficile la copie du document original. Les filigranes sont également utilisés pour spécifier la propriété d’un document en affichant le nom ou le logo de l’entreprise. Les filigranes dans les fichiers PowerPoint peuvent être à la fois des images ou du texte. Dans cet article, vous apprendrez à ajouter des filigranes de texte et d’image aux diapositives PowerPoint à l’aide de C++.
- API C++ pour ajouter un filigrane aux diapositives PowerPoint
- Ajouter un filigrane de texte aux diapositives PowerPoint à l’aide de C++
- Ajouter un filigrane d’image aux diapositives PowerPoint
API C++ pour ajouter un filigrane aux diapositives PowerPoint
Nous utiliserons l’API Aspose.Slides for C++ pour ajouter un filigrane aux diapositives PowerPoint. Il s’agit d’une API robuste et riche en fonctionnalités qui prend en charge la création, la lecture et la mise à jour de fichiers PowerPoint sans nécessiter de logiciel supplémentaire. Vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section Téléchargements.
PM> Install-Package Aspose.Slides.Cpp
Ajouter un filigrane de texte aux diapositives PowerPoint à l’aide de C++
Vous pouvez ajouter un filigrane de texte aux diapositives PowerPoint en suivant les étapes ci-dessous.
- Tout d’abord, chargez le fichier PowerPoint à l’aide de la classe Presentation.
- Récupérez la diapositive principale.
- Calculez la position du filigrane.
- Ajoutez une forme à l’aide de la méthode IMasterSlide->getShapes()->AddAutoShape(ShapeType shapeType, float x, float y, float width, float height).
- Ajoutez un cadre de texte à la forme à l’aide de la méthode IAutoShape->AddTextFrame(System::String text).
- Définissez la taille de la police, la couleur et l’angle de rotation du filigrane.
- Verrouillez le filigrane afin qu’il ne puisse pas être déplacé ou supprimé.
- Enfin, enregistrez le fichier PowerPoint en utilisant la méthode Presentation->Save(System::String fname, Export::SaveFormat format).
L’exemple de code suivant montre comment ajouter un filigrane de texte aux diapositives PowerPoint à l’aide de C++.
// Chemins de fichiers
const String sourceFilePath = u"SourceDirectory\\Slides\\Presentation2.pptx";
const String outputFilePath = u"OutputDirectory\\AddTextWatermark_out.pptx";
// Charger le fichier de présentation
auto presentation = System::MakeObject<Presentation>(sourceFilePath);
// Accéder à la diapositive principale
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;
// Ajouter une forme
auto watermarkShape = master->get_Shapes()->AddAutoShape(ShapeType::Rectangle, x, y, width, height);
// Définir le type de remplissage
watermarkShape->get_FillFormat()->set_FillType(FillType::NoFill);
watermarkShape->get_LineFormat()->get_FillFormat()->set_FillType(FillType::NoFill);
// Définir l'angle de rotation
watermarkShape->set_Rotation(-45);
// Définir le texte
auto watermarkTextFrame = watermarkShape->AddTextFrame(u"Watermark");
// Définir la police et la couleur
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));
// Empêcher la modification des formes
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);
// Enregistrer la présentation
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Ajouter un filigrane d’image aux diapositives PowerPoint à l’aide de C++
Pour ajouter un filigrane d’image aux diapositives PowerPoint, veuillez suivre les étapes ci-dessous.
- Tout d’abord, chargez le fichier PowerPoint à l’aide de la classe Presentation.
- Récupérez la diapositive principale.
- Calculez la position du filigrane.
- Ajoutez une forme à l’aide de la méthode IMasterSlide->getShapes()->AddAutoShape(ShapeType shapeType, float x, float y, float width, float height).
- Ajoutez l’image et récupérez sa référence dans un objet IPPImage.
- Définissez l’image du filigrane à l’aide de IAutoShape->getFillFormat()->getPictureFillFormat()->getPicture()->setImage(System::SharedPtr valeur) méthode.
- Réglez le type de remplissage et le mode de remplissage d’image de IAutoShape sur FillType::Picture et PictureFillMode::Stretch, respectivement.
- Verrouillez le filigrane afin qu’il ne puisse pas être déplacé ou supprimé.
- Enfin, enregistrez le fichier PowerPoint en utilisant la méthode Presentation->Save(System::String fname, Export::SaveFormat format).
L’exemple de code suivant montre comment ajouter un filigrane d’image aux diapositives PowerPoint à l’aide de C++.
// Chemins de fichiers
const String sourceFilePath = u"SourceDirectory\\Slides\\Presentation2.pptx";
const String outputFilePath = u"OutputDirectory\\AddImageWatermark_out.pptx";
// Charger le fichier de présentation
auto presentation = System::MakeObject<Presentation>(sourceFilePath);
// Accéder à la diapositive principale
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;
// Ajouter une forme
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"));
// Définir le type de remplissage
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);
// Empêcher la modification des formes
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);
// Enregistrer la présentation
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Obtenez une licence gratuite
Afin d’essayer l’API sans limitation d’évaluation, vous pouvez demander une licence temporaire gratuite.
Conclusion
Dans cet article, vous avez appris à ajouter un filigrane aux diapositives PowerPoint à l’aide de C++. Les exemples de code partagé montrent comment ajouter facilement des filigranes d’image et de texte aux diapositives PowerPoint à l’aide de l’API Aspose.Slides to C++. Il s’agit d’une API puissante qui fournit un ensemble de fonctionnalités supplémentaires pour travailler avec des fichiers PowerPoint PPTX/PPT. Vous pouvez explorer l’API en détail en visitant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.
Voir également
- Appliquer l’animation au texte dans PowerPoint à l’aide de C++
- Créer SmartArt dans des présentations PowerPoint à l’aide de C++
Info : vous pouvez consulter les outils en ligne gratuits Aspose.Slides Ajouter un filigrane à PowerPoint et Supprimer le filigrane de PowerPoint.