Android에서 프레젠테이션 슬라이드 클론

소개

클론은 무언가를 정확히 복사하거나 복제하는 과정입니다. Aspose.Slides for Android via Java은 또한 어떤 슬라이드든 복사하거나 클론을 만든 다음 해당 클론된 슬라이드를 현재 프레젠테이션이나 다른 열려 있는 프레젠테이션에 삽입할 수 있게 합니다. 슬라이드 클론 과정은 원본 슬라이드를 변경하지 않고 개발자가 수정할 수 있는 새 슬라이드를 생성합니다. 슬라이드를 클론하는 몇 가지 방법이 있습니다:

  • 프레젠테이션 내에서 끝에 클론하기.
  • 프레젠테이션 내 다른 위치에 클론하기.
  • 다른 프레젠테이션의 끝에 클론하기.
  • 다른 프레젠테이션의 다른 위치에 클론하기.
  • 다른 프레젠테이션의 특정 위치에 클론하기.

Aspose.Slides for Android via Java에서는 Presentation 객체가 노출하는 ( ISlide 객체들의 컬렉션) 이 위의 슬라이드 클론 유형을 수행하기 위해 addCloneinsertClone 메서드를 제공합니다.

프레젠테이션 끝에 슬라이드 클론하기

동일한 프레젠테이션 파일 내에서 기존 슬라이드 끝에 슬라이드를 클론하고 사용하려면 아래 단계에 따라 addClone 메서드를 사용하십시오.

  1. Presentation 클래스의 인스턴스를 생성합니다.
  2. Presentation 객체가 노출하는 Slides 컬렉션을 참조하여 ISlideCollection 클래스를 인스턴스화합니다.
  3. ISlideCollection 객체가 노출하는 addClone 메서드를 호출하고 클론할 슬라이드를 파라미터로 전달합니다.
  4. 수정된 프레젠테이션 파일을 저장합니다.
import com.aspose.slides.*;

// 프레젠테이션 파일을 나타내는 Presentation 클래스를 인스턴스화합니다
Presentation pres = new Presentation("CloneWithinSamePresentationToEnd.pptx");
try {
    // 동일한 프레젠테이션 내 슬라이드 컬렉션의 끝에 원하는 슬라이드를 클론합니다
    ISlideCollection slds = pres.getSlides();

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

    // 수정된 프레젠테이션을 디스크에 저장합니다
    pres.save("Aspose_CloneWithinSamePresentationToEnd_out.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

프레젠테이션 내 다른 위치에 슬라이드 클론하기

동일한 프레젠테이션 파일 내에서 다른 위치에 슬라이드를 클론하고 사용하려면 insertClone 메서드를 사용하십시오:

  1. Presentation 클래스의 인스턴스를 생성합니다.
  2. Presentation 객체가 노출하는 Slides 컬렉션을 참조하여 클래스를 인스턴스화합니다.
  3. ISlideCollection 객체가 노출하는 insertClone 메서드를 호출하고 클론할 슬라이드와 새 위치 인덱스를 파라미터로 전달합니다.
  4. 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
import com.aspose.slides.*;

// 프레젠테이션 파일을 나타내는 Presentation 클래스를 인스턴스화합니다
Presentation pres = new Presentation("CloneWithInSamePresentation.pptx");
try {
    // 동일한 프레젠테이션에서 슬라이드 컬렉션을 가져옵니다
    ISlideCollection slds = pres.getSlides();

    // 동일한 프레젠테이션에서 원하는 슬라이드를 지정된 인덱스로 클론합니다
    slds.insertClone(2, pres.getSlides().get_Item(1));

    // 수정된 프레젠테이션을 디스크에 저장합니다
    pres.save("Aspose_CloneWithInSamePresentation_out.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

다른 프레젠테이션 끝에 슬라이드 클론하기

한 프레젠테이션에서 슬라이드를 클론하여 다른 프레젠테이션 파일의 기존 슬라이드 끝에 사용하려면:

  1. 슬라이드를 클론할 원본 프레젠테이션을 포함하는 Presentation 클래스의 인스턴스를 생성합니다.
  2. 슬라이드를 추가할 대상 프레젠테이션을 포함하는 Presentation 클래스의 인스턴스를 생성합니다.
  3. 대상 프레젠테이션의 Presentation 객체가 노출하는 Slides 컬렉션을 참조하여 ISlideCollection 클래스를 인스턴스화합니다.
  4. ISlideCollection 객체가 노출하는 addClone 메서드를 호출하고 원본 프레젠테이션의 슬라이드를 파라미터로 전달합니다.
  5. 수정된 대상 프레젠테이션 파일을 저장합니다.
import com.aspose.slides.*;

// 소스 프레젠테이션 파일을 로드하기 위해 Presentation 클래스를 인스턴스화합니다
Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx");
try {
    // 슬라이드를 클론할 대상 PPTX용 Presentation 클래스를 인스턴스화합니다
    Presentation destPres = new Presentation();
    try {
        // 소스 프레젠테이션에서 원하는 슬라이드를 대상 프레젠테이션의 슬라이드 컬렉션 끝에 클론합니다
        ISlideCollection slds = destPres.getSlides();

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

        // 대상 프레젠테이션을 디스크에 저장합니다
        destPres.save("Aspose2_out.pptx", SaveFormat.Pptx);
    } finally {
        destPres.dispose();
    }
} finally {
    srcPres.dispose();
}

다른 프레젠테이션의 다른 위치에 슬라이드 클론하기

한 프레젠테이션에서 슬라이드를 클론하여 다른 프레젠테이션 파일의 특정 위치에 사용하려면:

  1. 슬라이드를 클론할 원본 프레젠테이션을 포함하는 Presentation 클래스의 인스턴스를 생성합니다.
  2. 슬라이드를 추가할 대상 프레젠테이션을 포함하는 Presentation 클래스의 인스턴스를 생성합니다.
  3. 대상 프레젠테이션의 Presentation 객체가 노출하는 Slides 컬렉션을 참조하여 ISlideCollection 클래스를 인스턴스화합니다.
  4. ISlideCollection 객체가 노출하는 insertClone 메서드를 호출하고 원본 프레젠테이션의 슬라이드와 원하는 위치 인덱스를 파라미터로 전달합니다.
  5. 수정된 대상 프레젠테이션 파일을 저장합니다.
import com.aspose.slides.*;

// 소스 프레젠테이션 파일을 로드하기 위해 Presentation 클래스를 인스턴스화합니다
Presentation srcPres = new Presentation("CloneAtEndOfAnother.pptx");
try {
    // 슬라이드를 클론할 대상 PPTX용 Presentation 클래스를 인스턴스화합니다
    Presentation destPres = new Presentation();
    try {
        // 소스 프레젠테이션에서 원하는 슬라이드를 대상 프레젠테이션의 지정된 인덱스로 클론합니다
        ISlideCollection slds = destPres.getSlides();

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

        // 대상 프레젠테이션을 디스크에 저장합니다
        destPres.save("Aspose2_out.pptx", SaveFormat.Pptx);
    } finally {
        destPres.dispose();
    }
} finally {
    srcPres.dispose();
}

다른 프레젠테이션의 특정 위치에 슬라이드 클론하기

마스터 슬라이드를 포함한 슬라이드를 한 프레젠테이션에서 다른 프레젠테이션으로 클론하려면 먼저 원본 프레젠테이션에서 원하는 마스터 슬라이드를 대상 프레젠테이션에 클론해야 합니다. 그런 다음 해당 마스터 슬라이드를 사용해 마스터가 있는 슬라이드를 클론합니다. addClone(ISlide, IMasterSlide, boolean) 메서드는 대상 프레젠테이션의 마스터 슬라이드를 필요로 합니다. 마스터와 함께 슬라이드를 클론하려면 아래 단계에 따라 진행하십시오:

  1. 슬라이드를 클론할 원본 프레젠테이션을 포함하는 Presentation 클래스의 인스턴스를 생성합니다.
  2. 슬라이드를 클론할 대상 프레젠테이션을 포함하는 Presentation 클래스의 인스턴스를 생성합니다.
  3. 클론할 슬라이드와 해당 마스터 슬라이드에 접근합니다.
  4. 대상 프레젠테이션의 Presentation 객체가 노출하는 Masters 컬렉션을 참조하여 IMasterSlideCollection 클래스를 인스턴스화합니다.
  5. IMasterSlideCollection 객체가 노출하는 addClone 메서드를 호출하고 원본 PPTX의 마스터를 파라미터로 전달합니다.
  6. 대상 프레젠테이션의 Presentation 객체가 노출하는 Slides 컬렉션을 참조하도록 설정하여 ISlideCollection 클래스를 인스턴스화합니다.
  7. ISlideCollection 객체가 노출하는 addClone 메서드를 호출하고 원본 프레젠테이션의 슬라이드와 마스터 슬라이드를 파라미터로 전달합니다.
  8. 수정된 대상 프레젠테이션 파일을 저장합니다.
import com.aspose.slides.*;

// 소스 프레젠테이션 파일을 로드하기 위해 Presentation 클래스를 인스턴스화합니다
Presentation srcPres = new Presentation("CloneToAnotherPresentationWithMaster.pptx");
try {
    // 슬라이드를 클론할 대상 프레젠테이션(슬라이드가 클론될 위치)용 Presentation 클래스를 인스턴스화합니다
    Presentation destPres = new Presentation();
    try {
        // 소스 프레젠테이션의 슬라이드 컬렉션에서 ISlide를
        // 마스터 슬라이드와 함께 인스턴스화합니다
        ISlide SourceSlide = srcPres.getSlides().get_Item(0);
        IMasterSlide SourceMaster = SourceSlide.getLayoutSlide().getMasterSlide();

        // 소스 프레젠테이션에서 원하는 마스터 슬라이드를 대상 프레젠테이션의 마스터 컬렉션에 클론합니다
        // 대상 프레젠테이션
        IMasterSlideCollection masters = destPres.getMasters();
        IMasterSlide iSlide = masters.addClone(SourceMaster);

        // 소스 프레젠테이션에서 원하는 마스터와 함께 원하는 슬라이드를 대상 프레젠테이션의
        // 슬라이드 컬렉션 끝으로 클론합니다
        ISlideCollection slds = destPres.getSlides();
        slds.addClone(SourceSlide, iSlide, true);

        // 대상 프레젠테이션을 디스크에 저장합니다
        destPres.save("CloneToAnotherPresentationWithMaster_out.pptx", SaveFormat.Pptx);
    } finally {
        destPres.dispose();
    }
} finally {
    srcPres.dispose();
}

지정된 섹션 끝에 슬라이드 클론하기

같은 프레젠테이션 파일 내에서 다른 섹션에 슬라이드를 클론하고 사용하려면 addClone 메서드를 사용하십시오. Aspose.Slides for Android via Java은 첫 번째 섹션에서 슬라이드를 클론한 뒤 동일한 프레젠테이션의 두 번째 섹션에 삽입할 수 있게 합니다.

다음 코드 스니펫은 슬라이드를 클론하고 지정된 섹션에 삽입하는 방법을 보여줍니다.

import com.aspose.slides.*;

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);
    
	// 대상 프레젠테이션을 디스크에 저장합니다
    presentation.save("CloneSlideIntoSpecifiedSection.pptx", SaveFormat.Pptx);
} finally {
    if (presentation != null) presentation.dispose();
}

슬라이드 크기 일치 확인

슬라이드를 다른 프레젠테이션에 클론할 때 대상 프레젠테이션의 슬라이드 크기가 원본과 동일한지 확인하십시오. 슬라이드 크기가 다르면 Aspose.Slides는 클론된 도형을 자동으로 재조정하지 않으며, 원래 좌표와 크기가 그대로 유지되어 내용이 정렬되지 않거나 슬라이드 경계를 넘어 표시될 수 있습니다.

마스터와 슬라이드를 클론하기 전에 대상 프레젠테이션의 슬라이드 크기를 원본과 일치하도록 설정할 수 있습니다:

Dimension2D sourceSize = sourcePresentation.getSlideSize().getSize();

targetPresentation.getSlideSize().setSize(
        sourceSize.getWidth(), sourceSize.getHeight(), SlideSizeScaleType.DoNotScale);

마스터와 슬라이드를 클론하기 전에 수행하십시오.

자주 묻는 질문

연설자 노트와 검토자 댓글도 클론되나요?

예. 노트 페이지와 검토 댓글이 클론에 포함됩니다. 원하지 않으시면 삽입 후 제거 합니다.

차트와 데이터 소스는 어떻게 처리되나요?

차트 개체, 서식 및 포함된 데이터가 복사됩니다. 차트가 외부 소스(예: OLE 삽입 워크북)와 연결되어 있었다면 해당 연결이 OLE object 로 보존됩니다. 파일 간 이동 후 데이터 가용성과 새로 고침 동작을 확인하십시오.

클론의 삽입 위치와 섹션을 제어할 수 있나요?

예. 클론을 특정 슬라이드 인덱스에 삽입하고 원하는 섹션에 배치할 수 있습니다. 대상 섹션이 존재하지 않으면 먼저 섹션을 생성한 후 슬라이드를 이동하십시오.