Ochrona dokumentów cyfrowych jest obecnie powszechnym problemem. Nie chcesz, aby jakakolwiek nieupoważniona osoba zmieniała treść Twoich dokumentów. Dlatego nieuniknione staje się stosowanie skutecznych mechanizmów ochronnych. W związku z tym w tym artykule pokażemy, jak chronić prezentacje PPT/PPTX z poziomu aplikacji .NET. Osiągniemy to, blokując kształty w programie PowerPoint PPT lub PPTX w języku C#.
- Interfejs API języka C# do blokowania kształtów w programie PowerPoint PPT
- Zablokuj kształty PowerPoint PPT w C#
- Odblokuj kształty w programie PowerPoint PPT
C# .NET API do blokowania kształtów w programie PowerPoint PPT
Aby zablokować i odblokować prezentacje PowerPoint, użyjemy Aspose.Slides for .NET. Interfejs API zapewnia szereg funkcji do tworzenia i manipulowania prezentacjami programu PowerPoint. Możesz pobrać bibliotekę DLL interfejsu API lub zainstalować ją za pomocą NuGet.
PM> Install-Package Aspose.Slides.NET
Zablokuj kształty w programie PowerPoint PPT w języku C#
Prezentacja programu PowerPoint może zawierać różne elementy, takie jak tekst, obrazy, dźwięk itp. Aspose.Slides dla platformy .NET przyjmuje każdy element jako kształt lub abject wywodzący się z kształtu. Aby więc chronić zawartość prezentacji, musimy zablokować wszystkie ich kształty. Aspose.Slides zapewnia odpowiednie zamki dla następujących typów kształtów.
- Automatyczny kształt
- Kształt grupy
- Złącze
- Ramka
Poniższe kroki pokazują, jak zablokować kształty w programie PowerPoint PPT w języku C#.
- Najpierw załaduj plik PPT/PPTX przy użyciu klasy Presentation.
- Następnie pobierz slajdy w prezentacji za pomocą właściwości Presentation.Slides.
- Dla każdego slajdu uzyskaj dostęp do jego kształtów za pomocą kolekcji ISlide.Shapes.
- Dla każdego kształtu w kolekcji wykonaj następujące czynności:
- Sprawdź rodzaj kształtu.
- Użyj odpowiedniego zamka w zależności od rodzaju kształtu.
- Na koniec zapisz prezentację przy użyciu metody Presentation.Save(string, SaveFormat).
Poniższy przykładowy kod pokazuje, jak blokować kształty w programie PowerPoint PPTX przy użyciu języka C#.
// Załaduj prezentację
using (Presentation presentation = new Presentation("presentation.pptx"))
{
// Obiekt IShape do przechowywania tymczasowych kształtów
IShape shape;
// Przejrzyj wszystkie slajdy w prezentacji
for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
{
var slide = presentation.Slides[slideCount];
// Przejrzyj wszystkie kształty na slajdach
for (int count = 0; count < slide.Shapes.Count; count++)
{
shape = slide.Shapes[count];
// Jeśli kształt jest automatycznym kształtem
if (shape is IAutoShape)
{
// Wpisz rzut na automatyczny kształt i uzyskaj automatyczną blokadę kształtu
IAutoShape Ashp = shape as IAutoShape;
IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;
// Zastosuj blokady kształtu
AutoShapeLock.PositionLocked = true;
AutoShapeLock.SelectLocked = true;
AutoShapeLock.SizeLocked = true;
}
// Jeśli kształt jest kształtem grupy
else if (shape is IGroupShape)
{
// Wpisz rzut na kształt grupy i uzyskaj blokadę kształtu grupy
IGroupShape Group = shape as IGroupShape;
IGroupShapeLock groupShapeLock = Group.ShapeLock;
// Zastosuj blokady kształtu
groupShapeLock.GroupingLocked = true;
groupShapeLock.PositionLocked = true;
groupShapeLock.SelectLocked = true;
groupShapeLock.SizeLocked = true;
}
// Jeśli kształt jest łącznikiem
else if (shape is IConnector)
{
// Wpisz rzut na kształt złącza i uzyskaj blokadę kształtu złącza
IConnector Conn = shape as IConnector;
IConnectorLock ConnLock = Conn.ShapeLock;
// Zastosuj blokady kształtu
ConnLock.PositionMove = true;
ConnLock.SelectLocked = true;
ConnLock.SizeLocked = true;
}
// Jeśli kształt jest ramką obrazu
else if (shape is IPictureFrame)
{
// Wpisz odlew, aby zobrazować kształt ramki i uzyskaj blokadę kształtu ramki obrazu
IPictureFrame Pic = shape as IPictureFrame;
IPictureFrameLock PicLock = Pic.ShapeLock;
// Zastosuj blokady kształtu
PicLock.PositionLocked = true;
PicLock.SelectLocked = true;
PicLock.SizeLocked = true;
}
}
}
// Zapisz prezentację
presentation.Save("locked-ppt.pptx", SaveFormat.Pptx);
}
Odblokuj prezentacje PowerPoint w C#
Aby odblokować kształty i umożliwić ich edycję, musisz wyłączyć blokady. Pamiętaj, że jeśli zablokowałeś kształty za pomocą Aspose.Slides for .NET, będziesz musiał użyć tego samego API do odblokowania. Odblokowanie odbywa się poprzez wyłączenie blokad kształtu i ustawienie ich wartości na false.
Poniższy przykładowy kod pokazuje, jak odblokować kształty w pliku PPTX w języku C#.
// Załaduj prezentację
using (Presentation presentation = new Presentation("locked-ppt.ppt"))
{
// Obiekt IShape do przechowywania tymczasowych kształtów
IShape shape;
// Przejrzyj wszystkie slajdy w prezentacji
for (int slideCount = 0; slideCount < presentation.Slides.Count; slideCount++)
{
var slide = presentation.Slides[slideCount];
// Przejrzyj wszystkie kształty na slajdach
for (int count = 0; count < slide.Shapes.Count; count++)
{
shape = slide.Shapes[count];
// Jeśli kształt jest automatycznym kształtem
if (shape is IAutoShape)
{
// Wpisz rzut na automatyczny kształt i uzyskaj automatyczną blokadę kształtu
IAutoShape Ashp = shape as IAutoShape;
IAutoShapeLock AutoShapeLock = Ashp.ShapeLock;
// Odblokuj kształt
AutoShapeLock.PositionLocked = false;
AutoShapeLock.SelectLocked = false;
AutoShapeLock.SizeLocked = false;
}
// Jeśli kształt jest kształtem grupy
else if (shape is IGroupShape)
{
// Wpisz rzut na kształt grupy i uzyskaj blokadę kształtu grupy
IGroupShape Group = shape as IGroupShape;
IGroupShapeLock groupShapeLock = Group.ShapeLock;
// Odblokuj kształt
groupShapeLock.GroupingLocked = false;
groupShapeLock.PositionLocked = false;
groupShapeLock.SelectLocked = false;
groupShapeLock.SizeLocked = false;
}
// Jeśli kształt jest łącznikiem
else if (shape is IConnector)
{
// Wpisz rzut na kształt złącza i uzyskaj blokadę kształtu złącza
IConnector Conn = shape as IConnector;
IConnectorLock ConnLock = Conn.ShapeLock;
// Odblokuj kształt
ConnLock.PositionMove = false;
ConnLock.SelectLocked = false;
ConnLock.SizeLocked = false;
}
// Jeśli kształt jest ramką obrazu
else if (shape is IPictureFrame)
{
// Wpisz odlew, aby zobrazować kształt ramki i uzyskaj blokadę kształtu ramki obrazu
IPictureFrame Pic = shape as IPictureFrame;
IPictureFrameLock PicLock = Pic.ShapeLock;
// Odblokuj kształt
PicLock.PositionLocked = false;
PicLock.SelectLocked = false;
PicLock.SizeLocked = false;
}
}
}
// Zapisz prezentację
presentation.Save("unlocked-ppt.ppt", SaveFormat.Ppt);
}
Uzyskaj bezpłatną licencję
Używaj Aspose.Slides for .NET bez ograniczeń ewaluacyjnych, uzyskując bezpłatną licencję tymczasową.
Wniosek
W tym artykule nauczyłeś się blokować kształty w programie PowerPoint PPT/PPTX w języku C#. Ponadto widziałeś, jak usunąć ochronę prezentacji, programowo odblokowując ich kształty. Poza tym możesz dowiedzieć się więcej o Aspose.Slides for .NET, odwiedzając dokumentację. Możesz również zamieścić swoje zapytania na naszym forum.