# Klonowanie slajdów prezentacji w Javie

> Szybko duplikuj slajdy PowerPoint za pomocą Aspose.Slides dla Javy. Postępuj zgodnie z naszymi przejrzystymi przykładami kodu, aby w kilka sekund zautomatyzować tworzenie prezentacji PPT i wyeliminować ręczną pracę.

Source: https://docs.aspose.com/slides/pl/java/clone-slides/
Updated: 2026-06-11

## **Wprowadzenie**

Klonowanie to proces tworzenia dokładnej kopii lub repliki czegoś. Aspose.Slides for Java umożliwia także wykonanie kopii lub klona dowolnego slajdu, a następnie wstawienie tego sklonowanego slajdu do bieżącej lub innej otwartej prezentacji. Proces klonowania slajdu tworzy nowy slajd, który może być modyfikowany przez programistów bez zmieniania oryginalnego slajdu. Istnieje kilka możliwych sposobów klonowania slajdu:

- Klonowanie na końcu w obrębie prezentacji.
- Klonowanie w innym miejscu w obrębie 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 Java (kolekcja obiektów [ISlide](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlide) ) udostępniona przez obiekt [Presentation](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation) zapewnia metody [addClone](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#addClone-com.aspose.slides.ISlide-) i [insertClone](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#insertClone-int-com.aspose.slides.ISlide-) do wykonywania wymienionych typó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](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#addClone-com.aspose.slides.ISlide-) zgodnie z poniższymi krokami:

1. Utwórz instancję klasy [Presentation](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation).
2. Zainicjuj klasę [ISlideCollection](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation#getSlides--) odwołując się do kolekcji Slides udostępnionej przez obiekt [Presentation](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation).
3. Wywołaj metodę [addClone](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#addClone-com.aspose.slides.ISlide-) udostępnioną przez obiekt [ISlideCollection](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation#getSlides--) i przekaż slajd do sklonowania jako parametr do metody [addClone](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#addClone-com.aspose.slides.ISlide-).
4. 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.

```java
// Utwórz klasę Presentation, która reprezentuje plik prezentacji
Presentation pres = new Presentation("CloneWithinSamePresentationToEnd.pptx");
try {
    // Sklonuj wybrany slajd na koniec kolekcji slajdów w tej samej prezentacji
    ISlideCollection slds = pres.getSlides();

    slds.addClone(pres.getSlides().get_Item(0));

    // Zapisz zmodyfikowaną prezentację na dysk
    pres.save("Aspose_CloneWithinSamePresentationToEnd_out.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}
```

## **Klonowanie slajdu do innej pozycji w obrębie 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](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#insertClone-int-com.aspose.slides.ISlide-):

1. Utwórz instancję klasy [Presentation](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation).
2. Zainicjuj klasę, odwołując się do kolekcji **Slides** udostępnionej przez obiekt [Presentation](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation).
3. Wywołaj metodę [insertClone](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#insertClone-int-com.aspose.slides.ISlide-) udostępnioną przez obiekt [ISlideCollection](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation#getSlides--) i przekaż slajd do sklonowania wraz z indeksem nowej pozycji jako parametr do metody [insertClone](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#insertClone-int-com.aspose.slides.ISlide-).
4. 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.

```java
// Utwórz klasę Presentation, która reprezentuje plik prezentacji
Presentation pres = new Presentation("CloneWithInSamePresentation.pptx");
try {
    // Sklonuj wybrany slajd na koniec kolekcji slajdów w tej samej prezentacji
    ISlideCollection slds = pres.getSlides();

    // Sklonuj wybrany slajd na określony indeks w tej samej prezentacji
    slds.insertClone(2, pres.getSlides().get_Item(1));

    // Zapisz zmodyfikowaną prezentację na dysk
    pres.save("Aspose_CloneWithInSamePresentation_out.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}
```

## **Klonowanie slajdu na końcu innej prezentacji**
Jeśli potrzebujesz sklonować slajd z jednej prezentacji i użyć go w innym pliku prezentacji, na końcu istniejących slajdów:

1. Utwórz instancję klasy [Presentation](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation), zawierającą prezentację, z której slajd zostanie sklonowany.
2. Utwórz instancję klasy [Presentation](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation), zawierającą docelową prezentację, do której slajd zostanie dodany.
3. Zainicjuj klasę [ISlideCollection](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection) odwołując się do kolekcji **Slides** udostępnionej przez obiekt Presentation docelowej prezentacji.
4. Wywołaj metodę [addClone](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#addClone-com.aspose.slides.ISlide-) udostępnioną przez obiekt [ISlideCollection](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation#getSlides--) i przekaż slajd ze źródłowej prezentacji jako parametr do metody [addClone](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#addClone-com.aspose.slides.ISlide-).
5. Zapisz zmodyfikowany plik docelowej prezentacji.

W poniższym przykładzie sklonowaliśmy slajd (z pierwszego indeksu źródłowej prezentacji) na koniec docelowej prezentacji.

```java
// Utwórz klasę Presentation, aby wczytać plik źródłowej prezentacji
Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx");
try {
    // Utwórz klasę Presentation dla docelowego PPTX (gdzie slajd ma być sklonowany)
    Presentation destPres = new Presentation();
    try {
        // Sklonuj wybrany slajd ze źródłowej prezentacji na koniec kolekcji slajdów w docelowej prezentacji
        ISlideCollection slds = destPres.getSlides();

        slds.addClone(srcPres.getSlides().get_Item(0));

        // Zapisz docelową prezentację na dysk
        destPres.save("Aspose2_out.pptx", SaveFormat.Pptx);
    } finally {
        destPres.dispose();
    }
} finally {
    srcPres.dispose();
}
```

## **Klonowanie slajdu do innej pozycji w innej prezentacji**
Jeśli potrzebujesz sklonować slajd z jednej prezentacji i użyć go w innym pliku prezentacji, w określonym miejscu:

1. Utwórz instancję klasy [Presentation](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation), zawierającą źródłową prezentację, z której slajd zostanie sklonowany.
2. Utwórz instancję klasy [Presentation](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation), zawierającą prezentację, do której slajd zostanie dodany.
3. Zainicjuj klasę [ISlideCollection](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation#getSlides--) odwołując się do kolekcji Slides udostępnionej przez obiekt Presentation docelowej prezentacji.
4. Wywołaj metodę [insertClone](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#insertClone-int-com.aspose.slides.ISlide-) udostępnioną przez obiekt [ISlideCollection](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation#getSlides--) i przekaż slajd ze źródłowej prezentacji wraz z żądaną pozycją jako parametr do metody [insertClone](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#insertClone-int-com.aspose.slides.ISlide-).
5. Zapisz zmodyfikowany plik docelowej prezentacji.

W poniższym przykładzie sklonowaliśmy slajd (z indeksu zero źródłowej prezentacji) na indeks 1 (pozycja 2) w docelowej prezentacji.

```java
// Utwórz klasę Presentation, aby wczytać plik źródłowej prezentacji
Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx");
try {
    // Utwórz klasę Presentation dla docelowego PPTX (gdzie slajd ma być sklonowany)
    Presentation destPres = new Presentation();
    try {
        // Sklonuj wybrany slajd ze źródłowej prezentacji na koniec kolekcji slajdów w docelowej prezentacji
        ISlideCollection slds = destPres.getSlides();

        slds.insertClone(2, srcPres.getSlides().get_Item(0));

        // Zapisz docelową prezentację na dysk
        destPres.save("Aspose2_out.pptx", SaveFormat.Pptx);
    } finally {
        destPres.dispose();
    }
} finally {
    srcPres.dispose();
}
```

## **Klonowanie slajdu w określonym miejscu w innej prezentacji**
Jeśli potrzebujesz sklonować slajd z nadrzędnym slajdem z jednej prezentacji i użyć go w innej prezentacji, najpierw musisz sklonować żądany slajd nadrzędny ze źródłowej prezentacji do docelowej. Następnie musisz użyć tego slajdu nadrzędnego do klonowania slajdu z nadrzędnym slajdem. Metoda [**addClone(ISlide, IMasterSlide, boolean)**](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#addClone-com.aspose.slides.ISlide-com.aspose.slides.IMasterSlide-boolean-) oczekuje slajdu nadrzędnego z docelowej prezentacji, a nie ze źródłowej. Aby sklonować slajd z nadrzędnym slajdem, wykonaj poniższe kroki:

1. Utwórz instancję klasy [Presentation](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation), zawierającą źródłową prezentację, z której slajd zostanie sklonowany.
2. Utwórz instancję klasy [Presentation](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation), zawierającą docelową prezentację, do której slajd zostanie sklonowany.
3. Uzyskaj dostęp do slajdu, który ma być sklonowany, wraz ze slajdem nadrzędnym.
4. Zainicjuj klasę [IMasterSlideCollection](https://reference.aspose.com/slides/pl/java/com.aspose.slides/IMasterSlideCollection) odwołując się do kolekcji Masters udostępnionej przez obiekt [Presentation](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation) docelowej prezentacji.
5. Wywołaj metodę [addClone](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#addClone-com.aspose.slides.ISlide-) udostępnioną przez obiekt [IMasterSlideCollection](https://reference.aspose.com/slides/pl/java/com.aspose.slides/IMasterSlideCollection) i przekaż master ze źródłowego pliku PPTX jako parametr do metody [addClone](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#addClone-com.aspose.slides.ISlide-).
6. Zainicjuj klasę [ISlideCollection](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation#getSlides--) ustawiając odwołanie do kolekcji Slides udostępnionej przez obiekt [Presentation](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation) docelowej prezentacji.
7. Wywołaj metodę [addClone](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#addClone-com.aspose.slides.ISlide-) udostępnioną przez obiekt [ISlideCollection](https://reference.aspose.com/slides/pl/java/com.aspose.slides/Presentation#getSlides--) i przekaż slajd ze źródłowej prezentacji do sklonowania oraz slajd nadrzędny jako parametr do metody [addClone](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#addClone-com.aspose.slides.ISlide-).
8. Zapisz zmodyfikowany plik docelowej prezentacji.

W poniższym przykładzie sklonowaliśmy slajd z nadrzędnym slajdem (znajdujący się na indeksie zero w źródłowej prezentacji) na koniec docelowej prezentacji, używając nadrzędnego slajdu ze źródłowego slajdu.

```java
// Utwórz klasę Presentation, aby wczytać plik źródłowej prezentacji
Presentation srcPres = new Presentation("CloneToAnotherPresentationWithMaster.pptx");
try {
    // Utwórz klasę Presentation dla docelowej prezentacji (gdzie slajd ma być sklonowany)
    Presentation destPres = new Presentation();
    try {
        // Utwórz obiekt ISlide z kolekcji slajdów w źródłowej prezentacji wraz z
        // slajdem nadrzędnym
        ISlide SourceSlide = srcPres.getSlides().get_Item(0);
        IMasterSlide SourceMaster = SourceSlide.getLayoutSlide().getMasterSlide();

        // Sklonuj wybrany slajd nadrzędny ze źródłowej prezentacji do kolekcji slajdów nadrzędnych w
        // docelowej prezentacji
        IMasterSlideCollection masters = destPres.getMasters();
        IMasterSlide DestMaster = SourceSlide.getLayoutSlide().getMasterSlide();

        // Sklonuj wybrany slajd nadrzędny ze źródłowej prezentacji do kolekcji slajdów nadrzędnych w
        // docelowej prezentacji
        IMasterSlide iSlide = masters.addClone(SourceMaster);

        // Sklonuj wybrany slajd ze źródłowej prezentacji z wybranym slajdem nadrzędnym na koniec
        // kolekcji slajdów w docelowej prezentacji
        ISlideCollection slds = destPres.getSlides();
        slds.addClone(SourceSlide, iSlide, true);

        // Zapisz docelową prezentację na dysk
        destPres.save("CloneToAnotherPresentationWithMaster_out.pptx", SaveFormat.Pptx);
    } finally {
        destPres.dispose();
    }
} finally {
    srcPres.dispose();
}
```

## **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**](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection#addClone-com.aspose.slides.ISlide-com.aspose.slides.ISection-) udostępnionej przez interfejs [**ISlideCollection**](https://reference.aspose.com/slides/pl/java/com.aspose.slides/ISlideCollection). Aspose.Slides for Java umożliwia sklonowanie slajdu z pierwszej sekcji i wstawienie tego sklonowanego slajdu do drugiej sekcji tej samej prezentacji.

Poniższy fragment kodu pokazuje, jak sklonować slajd i wstawić sklonowany slajd do określonej sekcji.

```java
IPresentation presentation = new Presentation();
try {
    presentation.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 50, 300, 100);
    presentation.getSections().addSection("Section 1", presentation.getSlides().get_Item(0));

    ISection section2 = presentation.getSections().appendEmptySection("Section 2");
    presentation.getSlides().addClone(presentation.getSlides().get_Item(0), section2);
    
	// Zapisz docelową prezentację na dysk
    presentation.save(dataDir + "CloneSlideIntoSpecifiedSection.pptx", SaveFormat.Pptx);
} finally {
    if (presentation != null) presentation.dispose();
}
```

## **FAQ**

**Czy notatki prelegenta i komentarze recenzentów są klonowane?**

Tak. Strona z notatkami i komentarze recenzentów są zawarte w klonie. Jeśli ich nie chcesz, [usuń je](/slides/pl/java/presentation-notes/) 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. skoroszytem osadzonym w OLE), to powiązanie jest zachowane jako [obiekt OLE](/slides/pl/java/manage-ole/). Po przeniesieniu między plikami, sprawdź dostępność danych i zachowanie odświeżania.

**Czy mogę kontrolować pozycję wstawiania i sekcje klonu?**

Tak. Możesz wstawić klon na określony indeks slajdu i umieścić go w wybranej [sekcji](/slides/pl/java/slide-section/). Jeśli docelowa sekcja nie istnieje, najpierw ją utwórz, a potem przenieś slajd do niej.
