Ajouter un filigrane aux diapositives PowerPoint à l'aide de C++

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

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.

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);
Image de la sortie générée par l'exemple de code

Image de la sortie générée par l’exemple de code

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.

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);
Image de la sortie générée par l'exemple de code

Image de la sortie générée par l’exemple de code

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

Info : vous pouvez consulter les outils en ligne gratuits Aspose.Slides Ajouter un filigrane à PowerPoint et Supprimer le filigrane de PowerPoint.