La protection des documents numériques est une préoccupation commune de nos jours. Vous ne voulez pas qu’une personne non autorisée modifie le contenu de vos documents. Par conséquent, il devient inévitable d’utiliser des mécanismes de protection efficaces. Par conséquent, dans cet article, nous vous montrerons comment protéger les présentations PPT/PPTX depuis vos applications .NET. Nous y parviendrons en verrouillant les formes dans un PowerPoint PPT ou PPTX en C#.
- API C# pour verrouiller les formes dans PowerPoint PPT
- Verrouiller les formes PowerPoint PPT en C#
- Déverrouiller les formes dans PowerPoint PPT
API C# .NET pour verrouiller les formes dans PowerPoint PPT
Pour verrouiller et déverrouiller les présentations PowerPoint, nous utiliserons Aspose.Slides for .NET. L’API fournit une gamme de fonctionnalités pour créer et manipuler des présentations PowerPoint. Vous pouvez soit télécharger la DLL de l’API, soit l’installer à l’aide de NuGet.
PM> Install-Package Aspose.Slides.NET
Verrouiller les formes dans PowerPoint PPT en C#
Une présentation PowerPoint peut contenir une variété d’éléments tels que du texte, des images, de l’audio, etc. Aspose.Slides for .NET prend chaque élément comme une forme ou un objet dérivé de la forme. Ainsi, pour protéger le contenu des présentations, nous devons verrouiller toutes leurs formes. Aspose.Slides fournit des verrous appropriés pour les types de formes suivants.
- Forme automatique
- Forme du groupe
- Connecteur
- Cadre de l’image
Les étapes suivantes montrent comment verrouiller des formes dans un PPT PowerPoint en C#.
- Tout d’abord, chargez le fichier PPT/PPTX à l’aide de la classe Presentation.
- Ensuite, obtenez des diapositives dans la présentation à l’aide de la propriété Presentation.Slides.
- Pour chaque diapositive, accédez à ses formes à l’aide de la collection ISlide.Shapes.
- Pour chaque forme de la collection, procédez comme suit :
- Vérifiez le type de forme.
- Utilisez un verrou approprié en fonction du type de forme.
- Enfin, enregistrez la présentation à l’aide de la méthode Presentation.Save(string, SaveFormat).
L’exemple de code suivant montre comment verrouiller des formes dans un PowerPoint PPTX à l’aide de C#.
// Charger la présentation
using (Presentation presentation = new Presentation("presentation.pptx"))
{
// Objet IShape pour contenir des formes temporaires
IShape shape;
// Parcourir toutes les diapositives de la présentation
for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
{
var slide = presentation.Slides[slideCount];
// Parcourir toutes les formes dans les diapositives
for (int count = 0; count < slide.Shapes.Count; count++)
{
shape = slide.Shapes[count];
// Si la forme est la forme automatique
if (shape is IAutoShape)
{
// Tapez cast en forme automatique et obtenez un verrouillage automatique de la forme
IAutoShape Ashp = shape as IAutoShape;
IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;
// Appliquer des verrous de forme
AutoShapeLock.PositionLocked = true;
AutoShapeLock.SelectLocked = true;
AutoShapeLock.SizeLocked = true;
}
// Si la forme est une forme de groupe
else if (shape is IGroupShape)
{
// Tapez cast en forme de groupe et obtenez le verrouillage de la forme du groupe
IGroupShape Group = shape as IGroupShape;
IGroupShapeLock groupShapeLock = Group.ShapeLock;
// Appliquer des verrous de forme
groupShapeLock.GroupingLocked = true;
groupShapeLock.PositionLocked = true;
groupShapeLock.SelectLocked = true;
groupShapeLock.SizeLocked = true;
}
// Si la forme est un connecteur
else if (shape is IConnector)
{
// Tapez coulé à la forme du connecteur et obtenez le verrouillage de la forme du connecteur
IConnector Conn = shape as IConnector;
IConnectorLock ConnLock = Conn.ShapeLock;
// Appliquer des verrous de forme
ConnLock.PositionMove = true;
ConnLock.SelectLocked = true;
ConnLock.SizeLocked = true;
}
// Si la forme est un cadre photo
else if (shape is IPictureFrame)
{
// Tapez la forme du cadre photo et obtenez le verrouillage de la forme du cadre photo
IPictureFrame Pic = shape as IPictureFrame;
IPictureFrameLock PicLock = Pic.ShapeLock;
// Appliquer des verrous de forme
PicLock.PositionLocked = true;
PicLock.SelectLocked = true;
PicLock.SizeLocked = true;
}
}
}
// Enregistrer la présentation
presentation.Save("locked-ppt.pptx", SaveFormat.Pptx);
}
Débloquer des présentations PowerPoint en C#
Pour déverrouiller les formes et les rendre modifiables, vous devrez désactiver les verrous. Veuillez noter que si vous avez verrouillé les formes à l’aide de Aspose.Slides for .NET, vous devrez utiliser la même API pour le déverrouillage. Le déverrouillage s’effectue en désactivant les verrous de forme et en définissant leurs valeurs sur false.
L’exemple de code suivant montre comment déverrouiller des formes dans un fichier PPTX en C#.
// Charger la présentation
using (Presentation presentation = new Presentation("locked-ppt.ppt"))
{
// Objet IShape pour contenir des formes temporaires
IShape shape;
// Parcourir toutes les diapositives de la présentation
for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
{
var slide = presentation.Slides[slideCount];
// Parcourir toutes les formes dans les diapositives
for (int count = 0; count < slide.Shapes.Count; count++)
{
shape = slide.Shapes[count];
// Si la forme est la forme automatique
if (shape is IAutoShape)
{
// Tapez cast en forme automatique et obtenez un verrouillage automatique de la forme
IAutoShape Ashp = shape as IAutoShape;
IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;
// Déverrouiller la forme
AutoShapeLock.PositionLocked = false;
AutoShapeLock.SelectLocked = false;
AutoShapeLock.SizeLocked = false;
}
// Si la forme est une forme de groupe
else if (shape is IGroupShape)
{
// Tapez cast en forme de groupe et obtenez le verrouillage de la forme du groupe
IGroupShape Group = shape as IGroupShape;
IGroupShapeLock groupShapeLock = Group.ShapeLock;
// Déverrouiller la forme
groupShapeLock.GroupingLocked = false;
groupShapeLock.PositionLocked = false;
groupShapeLock.SelectLocked = false;
groupShapeLock.SizeLocked = false;
}
// Si la forme est un connecteur
else if (shape is IConnector)
{
// Tapez coulé à la forme du connecteur et obtenez le verrouillage de la forme du connecteur
IConnector Conn = shape as IConnector;
IConnectorLock ConnLock = Conn.ShapeLock;
// Déverrouiller la forme
ConnLock.PositionMove = false;
ConnLock.SelectLocked = false;
ConnLock.SizeLocked = false;
}
// Si la forme est un cadre photo
else if (shape is IPictureFrame)
{
// Tapez la forme du cadre photo et obtenez le verrouillage de la forme du cadre photo
IPictureFrame Pic = shape as IPictureFrame;
IPictureFrameLock PicLock = Pic.ShapeLock;
// Déverrouiller la forme
PicLock.PositionLocked = false;
PicLock.SelectLocked = false;
PicLock.SizeLocked = false;
}
}
}
// Enregistrer la présentation
presentation.Save("unlocked-ppt.ppt", SaveFormat.Ppt);
}
Obtenez une licence gratuite
Utilisez Aspose.Slides for .NET sans limitation d’évaluation en obtenant une licence temporaire gratuite.
Conclusion
Dans cet article, vous avez appris à verrouiller des formes dans PowerPoint PPT/PPTX en C#. De plus, vous avez vu comment déprotéger les présentations en déverrouillant leurs formes par programmation. En dehors de cela, vous pouvez en savoir plus sur Aspose.Slides for .NET en visitant la documentation. Vous pouvez également poster vos questions sur notre forum.