Klonowanie slajdów prezentacji w C++
Wprowadzenie
Klonowanie jest procesem tworzenia dokładnej kopii lub repliki czegoś. Aspose.Slides for C++ umożliwia także wykonanie kopii lub klonu dowolnego slajdu, a następnie wstawienie tego sklonowanego slajdu do bieżącej lub dowolnej innej otwartej prezentacji. Proces klonowania slajdu tworzy nowy slajd, który może być modyfikowany przez programistów bez zmiany oryginalnego slajdu. Istnieje kilka możliwych sposobów klonowania slajdu:
- Klonowanie na końcu w obrębie prezentacji.
- Klonowanie w innym miejscu w prezentacji.
- Klonowanie na końcu w innej prezentacji.
- Klonowanie w innym miejscu w innej prezentacji.
- Klonowanie w określonym miejscu w innej prezentacji.
W Aspose.Slides for C++, (kolekcja obiektów ISlide ) udostępniana przez obiekt Presentation zapewnia metody AddClone i InsertClone, które umożliwiają wykonanie powyższych rodzajów klonowania slajdów.
Klonowanie slajdu na końcu prezentacji
Jeśli chcesz sklonować slajd i następnie użyć go w tym samym pliku prezentacji na końcu istniejących slajdów, użyj metody AddClone zgodnie z poniższymi krokami:
- Utwórz instancję klasy Presentation.
- Zainstancjuj klasę ISlideCollection odwołując się do kolekcji Slides udostępnianej przez obiekt Presentation.
- Wywołaj metodę AddClone udostępnianą przez obiekt ISlideCollection i przekaż slajd do sklonowania jako parametr do metody AddClone.
- Zapisz zmodyfikowany plik prezentacji.
W poniższym przykładzie sklonowaliśmy slajd (znajdujący się na pierwszej pozycji – indeks zero – w prezentacji) na koniec prezentacji.
Klonowanie slajdu w innym miejscu w prezentacji
Jeśli chcesz sklonować slajd i następnie użyć go w tym samym pliku prezentacji, ale w innym miejscu, użyj metody InsertClone:
- Utwórz instancję klasy Presentation.
- Zainstancjuj klasę, odwołując się do kolekcji Slides udostępnianej przez obiekt Presentation.
- Wywołaj metodę InsertClone udostępnianą przez obiekt ISlideCollection i przekaż slajd do sklonowania wraz z indeksem nowej pozycji jako parametr do metody InsertClone.
- Zapisz zmodyfikowaną prezentację jako plik PPTX.
W poniższym przykładzie sklonowaliśmy slajd (znajdujący się na indeksie zero – pozycja 1 – w prezentacji) na indeks 1 – pozycja 2 – w prezentacji.
Klonowanie slajdu na końcu innej prezentacji
Jeśli potrzebujesz sklonować slajd z jednej prezentacji i użyć go w innej prezentacji, na końcu istniejących slajdów:
- Utwórz instancję klasy Presentation zawierającej prezentację, z której slajd zostanie sklonowany.
- Utwórz instancję klasy Presentation zawierającej docelową prezentację, do której slajd zostanie dodany.
- Zainstancjuj klasę ISlideCollection odwołując się do kolekcji Slides udostępnianej przez obiekt Presentation docelowej prezentacji.
- Wywołaj metodę AddClone udostępnianą przez obiekt ISlideCollection i przekaż slajd z prezentacji źródłowej jako parametr do metody AddClone.
- Zapisz zmodyfikowany plik docelowej prezentacji.
W poniższym przykładzie sklonowaliśmy slajd (z pierwszego indeksu prezentacji źródłowej) na koniec prezentacji docelowej.
Klonowanie slajdu w innym miejscu w innej prezentacji
Jeśli potrzebujesz sklonować slajd z jednej prezentacji i użyć go w innej prezentacji, w określonym miejscu:
- Utwórz instancję klasy Presentation zawierającej prezentację źródłową, z której slajd zostanie sklonowany.
- Utwórz instancję klasy Presentation zawierającej prezentację, do której slajd zostanie dodany.
- Zainstancjuj klasę ISlideCollection odwołując się do kolekcji Slides udostępnianej przez obiekt Presentation docelowej prezentacji.
- Wywołaj metodę InsertClone udostępnianą przez obiekt ISlideCollection i przekaż slajd z prezentacji źródłowej wraz z żądaną pozycją jako parametr do metody InsertClone.
- Zapisz zmodyfikowany plik docelowej prezentacji.
W poniższym przykładzie sklonowaliśmy slajd (z indeksu zero prezentacji źródłowej) na indeks 1 (pozycja 2) w prezentacji docelowej.
Klonowanie slajdu w określonym miejscu w innej prezentacji
Jeśli potrzebujesz sklonować slajd wraz z masterem z jednej prezentacji i użyć go w innej prezentacji, najpierw musisz sklonować żądany master ze źródła do prezentacji docelowej. Następnie użyj tego mastera do klonowania slajdu z masterem. Metoda AddClone(ISlide, IMasterSlide) oczekuje mastera z prezentacji docelowej, a nie z źródłowej. Aby sklonować slajd z masterem, wykonaj poniższe kroki:
- Utwórz instancję klasy Presentation zawierającej prezentację źródłową, z której slajd zostanie sklonowany.
- Utwórz instancję klasy Presentation zawierającej prezentację docelową, do której slajd zostanie sklonowany.
- Uzyskaj dostęp do slajdu, który ma być sklonowany, wraz z jego masterem.
- Zainstancjuj klasę IMasterSlideCollection odwołując się do kolekcji Masters udostępnianej przez obiekt Presentation prezentacji docelowej.
- Wywołaj metodę AddClone udostępnianą przez obiekt IMasterSlideCollection i przekaż master z pliku PPTX źródłowego jako parametr do metody AddClone.
- Zainstancjuj klasę ISlideCollection ustawiając odniesienie do kolekcji Slides udostępnianej przez obiekt Presentation prezentacji docelowej.
- Wywołaj metodę AddClone udostępnianą przez obiekt ISlideCollection i przekaż slajd z prezentacji źródłowej oraz master jako parametry do metody AddClone.
- Zapisz zmodyfikowany plik prezentacji docelowej.
W poniższym przykładzie sklonowaliśmy slajd z masterem (znajdujący się na indeksie zero w prezentacji źródłowej) na koniec prezentacji docelowej, używając mastera ze slajdu źródłowego.
Klonowanie slajdu na końcu określonej sekcji
Jeśli chcesz sklonować slajd i następnie użyć go w tym samym pliku prezentacji, ale w innej sekcji, użyj metody AddClone() udostępnianej przez interfejs ISlideCollection. Aspose.Slides for C++ umożliwia sklonowanie slajdu z pierwszej sekcji i wstawienie go do drugiej sekcji tej samej prezentacji.
Poniższy fragment kodu pokazuje, jak sklonować slajd i wstawić go do określonej sekcji.
Zapewnienie dopasowanego rozmiaru slajdu
Podczas klonowania slajdów do innej prezentacji upewnij się, że prezentacja docelowa ma taki sam rozmiar slajdu jak źródłowa. Jeśli rozmiary slajdów różnią się, Aspose.Slides nie przeskalowuje automatycznie sklonowanych kształtów – ich pierwotne współrzędne i wymiary pozostają zachowane, co może spowodować nieprawidłowe wyrównanie treści lub jej wyjście poza granice slajdu.
Możesz ustawić rozmiar slajdu prezentacji docelowej tak, aby odpowiadał rozmiarowi źródłowemu przed klonowaniem mastera i slajdu:
auto sourceSize = sourcePresentation->get_SlideSize()->get_Size();
targetPresentation->get_SlideSize()->SetSize(
sourceSize.get_Width(), sourceSize.get_Height(), SlideSizeScaleType::DoNotScale);
Zrób to przed klonowaniem mastera i slajdu.
FAQ
Czy notatki prelegenta i komentarze recenzenta są klonowane?
Tak. Strona notatek i komentarze recenzji są włączone do klonu. Jeśli ich nie chcesz, usuń je po wstawieniu.
Jak obsługiwane są wykresy i ich źródła danych?
Obiekt wykresu, formatowanie i osadzone dane są kopiowane. Jeśli wykres był połączony z zewnętrznym źródłem (np. zeszytem osadzonym jako OLE), to połączenie jest zachowane jako obiekt OLE. Po przeniesieniu między plikami sprawdź dostępność danych i zachowanie odświeżania.
Czy mogę kontrolować pozycję wstawiania i sekcje dla klonu?
Tak. Możesz wstawić klon na określony indeks slajdu i umieścić go w wybranej sekcji. Jeśli docelowa sekcja nie istnieje, najpierw ją utwórz, a następnie przenieś slajd do niej.