Usuwanie slajdów z prezentacji w C++
Wprowadzenie
Jeśli slajd (lub jego zawartość) stanie się zbędny, możesz go usunąć. Aspose.Slides udostępnia klasę Presentation , która enkapsuluje ISlideCollection , będące repozytorium wszystkich slajdów w prezentacji. Korzystając z wskaźników (referencji lub indeksu) do znanego obiektu ISlide , możesz określić slajd, który chcesz usunąć.
Usuwanie slajdu przez referencję
- Utwórz instancję klasy Presentation .
- Uzyskaj referencję do slajdu, który chcesz usunąć, poprzez jego ID lub indeks.
- Usuń referencyjny slajd z prezentacji.
- Zapisz zmodyfikowaną prezentację.
Ten kod C++ pokazuje, jak usunąć slajd poprzez jego referencję:
// Ścieżka do katalogu dokumentów
const String templatePath = L"../templates/AddSlides.pptx";
const String outPath = L"../out/RemoveSlidesByReference.pptx";
// Tworzy obiekt Presentation, który reprezentuje plik prezentacji
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);
// Dostęp do slajdu przez jego indeks w kolekcji slajdów
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);
// Usuwa slajd za pomocą jego referencji
pres->get_Slides()->Remove(slide);
// Zapisuje zmodyfikowaną prezentację
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
Usuwanie slajdu po indeksie
- Utwórz instancję klasy Presentation .
- Usuń slajd z prezentacji za pomocą jego pozycji indeksowej.
- Zapisz zmodyfikowaną prezentację.
Ten kod C++ pokazuje, jak usunąć slajd przez jego indeks:
// Ścieżka do katalogu dokumentów
const String templatePath = L"../templates/AddSlides.pptx";
const String outPath = L"../out/RemoveSlidesByID.pptx";
// Tworzy obiekt Presentation, który reprezentuje plik prezentacji
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);
// Usuwa slajd za pomocą jego indeksu
pres->get_Slides()->RemoveAt(0);
// Zapisuje zmodyfikowaną prezentację
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
Usuwanie nieużywanych slajdów układu
Aspose.Slides udostępnia metodę RemoveUnusedLayoutSlides() (z klasy Compress ) , aby umożliwić usunięcie niechcianych i nieużywanych slajdów układu. Ten kod C++ pokazuje, jak usunąć slajd układu z prezentacji PowerPoint:
auto pres = System::MakeObject<Presentation>(u"pres.pptx");
LowCode::Compress::RemoveUnusedLayoutSlides(pres);
pres->Save(u"pres-out.pptx", SaveFormat::Pptx);
Usuwanie nieużywanych slajdów master
Aspose.Slides udostępnia metodę RemoveUnusedMasterSlides() (z klasy Compress ) , aby umożliwić usunięcie niechcianych i nieużywanych slajdów master. Ten kod C++ pokazuje, jak usunąć slajd master z prezentacji PowerPoint:
auto pres = System::MakeObject<Presentation>(u"pres.pptx");
LowCode::Compress::RemoveUnusedMasterSlides(pres);
pres->Save(u"pres-out.pptx", SaveFormat::Pptx);
FAQ
Co się dzieje z indeksami slajdów po usunięciu slajdu?
Po usunięciu, kolekcja jest ponownie indeksowana: każdy kolejny slajd przesuwa się w lewo o jedną pozycję, więc poprzednie numery indeksów stają się nieaktualne. Jeśli potrzebujesz stabilnej referencji, użyj trwałego ID każdego slajdu zamiast jego indeksu.
Czy ID slajdu różni się od jego indeksu i czy zmienia się, gdy usunięte zostaną sąsiednie slajdy?
Tak. Indeks jest pozycją slajdu i zmieni się, gdy slajdy zostaną dodane lub usunięte. ID slajdu jest trwałym identyfikatorem i nie zmienia się, gdy usunięte zostaną inne slajdy.
Jak usunięcie slajdu wpływa na sekcje slajdów?
Jeśli slajd należał do sekcji, ta sekcja po prostu będzie zawierać o jeden slajd mniej. Struktura sekcji pozostaje; jeśli sekcja stanie się pusta, możesz usunąć lub zreorganizować sekcje w razie potrzeby.
Co się dzieje z notatkami i komentarzami dołączonymi do slajdu po jego usunięciu?
Notatki i komentarze są powiązane z konkretnym slajdem i zostają usunięte wraz z nim. Zawartość innych slajdów pozostaje niezmieniona.
Czym różni się usuwanie slajdów od czyszczenia nieużywanych układów/masterów?
Usuwanie usuwa konkretne zwykłe slajdy z prezentacji. Czyszczenie nieużywanych układów/masterów usuwa slajdy układu lub master, do których nie odwołuje się nic, zmniejszając rozmiar pliku bez zmiany pozostałej zawartości slajdów. Te działania są komplementarne: zazwyczaj najpierw usuwa się slajdy, a potem czyści nieużywane układy/mastery.