C#에서 PowerPoint 파일 병합

PowerPoint 프레젠테이션 병합은 여러 PPT/PPTX의 콘텐츠 결합, 두 명 이상의 사람이 만든 단일 프레젠테이션의 일부 병합 등과 같은 다양한 시나리오에서 유용할 수 있습니다. 콘텐츠를 수동으로 복사/붙여넣기하는 방법은 처리할 때 적합하지 않을 수 있습니다. 여러 프레젠테이션과 함께 따라서 이 문서를 통해 .NET 개발자는 C#을 사용하여 프로그래밍 방식으로 PowerPoint 프레젠테이션을 병합하는 방법을 배울 수 있습니다.

.NET 파워포인트 병합 API

Aspose.Slides for .NET은 프레젠테이션 문서를 만들고 조작할 수 있는 기능이 풍부한 .NET PowerPoint API입니다. 그와 함께 C# 또는 VB.NET을 사용하여 둘 이상의 PowerPoint 프레젠테이션을 결합할 수 있습니다. API의 DLL을 다운로드하거나 NuGet을 사용하여 설치할 수 있습니다.

C#을 사용하여 PowerPoint 프레젠테이션 병합

이 섹션에서는 하나의 PowerPoint 프레젠테이션에서 다른 프레젠테이션으로 모든 슬라이드를 복제하고 병합하는 방법을 배웁니다. 이를 위해 원본 프레젠테이션에서 슬라이드를 복제하고 대상 프레젠테이션 끝에 추가할 수 있습니다. 다음은 두 프레젠테이션을 병합하는 단계입니다.

  • 대상 프레젠테이션 파일을 로드할 Presentation 클래스의 개체를 만듭니다.
  • 다른 Presentation 개체를 만들어 슬라이드를 복제할 소스 프레젠테이션을 로드합니다.
  • Presentation.Slides 속성을 사용하여 소스 프레젠테이션에서 슬라이드 모음에 액세스합니다.
  • Presentation.Slides.AddClone(ISlide) 메서드를 사용하여 슬라이드 컬렉션을 반복하고 대상 프레젠테이션에 병합합니다.
  • Presentation.Save(String, SaveFormat) 메서드를 사용하여 병합된 프레젠테이션을 저장합니다.

다음 코드 샘플은 C#을 사용하여 두 개의 PowerPoint 프레젠테이션을 병합하는 방법을 보여줍니다.

// 대상 프레젠테이션 파일을 나타내는 프레젠테이션 개체를 인스턴스화합니다.
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // 소스 프레젠테이션 파일을 나타내는 Presentation 개체를 인스턴스화합니다.
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		foreach (ISlide slide in presentation2.Slides)
		{
      // 소스에서 대상으로 슬라이드 병합 
			presentation1.Slides.AddClone(slide);
		}
	}
  // 프레젠테이션 저장
	presentation1.Save("merged-presentation.pptx", Export.SaveFormat.Pptx);
}

대상 프레젠테이션

대상 파워포인트 프레젠테이션

소스 프레젠테이션

병합할 소스 PowerPoint 프레젠테이션

병합된 프레젠테이션

파워포인트 프레젠테이션 병합 C#

C#을 사용하여 PowerPoint 프레젠테이션의 특정 슬라이드 병합

이전 예에서는 원본 PPTX 파일의 모든 슬라이드를 대상 PPTX로 병합했습니다. 그러나 선택한 슬라이드만 병합해야 하는 경우가 있습니다. 이 경우 슬라이드의 인덱스를 사용하여 병합할 슬라이드를 지정할 수 있습니다. 다음은 이 작업을 수행하는 단계입니다.

  • Presentation 클래스를 사용하여 대상 프레젠테이션을 로드합니다.
  • Presentation 클래스를 사용하여 소스 프레젠테이션을 로드합니다.
  • Presentation1.Slides.AddClone(presentation2.Slides[int Index]) 메서드를 사용하여 원하는 슬라이드를 복제합니다.
  • 병합된 프레젠테이션을 새 PPTX 파일로 저장합니다.

다음 코드 샘플은 C#을 사용하여 프레젠테이션의 특정 슬라이드를 병합하는 방법을 보여줍니다.

// 대상 프레젠테이션 파일을 나타내는 프레젠테이션 개체를 인스턴스화합니다.
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // 소스 프레젠테이션 파일을 나타내는 Presentation 개체를 인스턴스화합니다.
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		// Presentation2의 짝수 슬라이드만 병합(첫 번째 슬라이드는 인덱스 0)
		for (int i = 1; i <= presentation2.Slides.Count; i = i + 2)
		{
			presentation1.Slides.AddClone(presentation2.Slides[i]);
		}
	}
	presentation1.Save("merged-presentation-even.pptx", Export.SaveFormat.Pptx);
}

병합된 프레젠테이션

C#을 사용하여 병합된 PowerPoint 프레젠테이션

PowerPoint 프레젠테이션을 병합하는 동안 슬라이드 마스터 사용

앞의 두 예에서는 소스 프레젠테이션의 디자인과 템플릿을 유지하면서 슬라이드를 병합했습니다. 그러나 경우에 따라 대상 프레젠테이션에 따라 슬라이드 레이아웃을 수정해야 할 수도 있습니다. 이러한 경우 오버로드된 [presentation1.Slides.AddClone(presentation2.Slides1, presentation1.Masters[0], true)]12 메서드를 사용할 수 있습니다.

다음 코드 샘플은 C#의 슬라이드 마스터를 사용하여 PowerPoint 프레젠테이션의 슬라이드를 병합하는 방법을 보여줍니다.

// 대상 프레젠테이션 파일을 나타내는 프레젠테이션 개체를 인스턴스화합니다.
using (Presentation presentation1 = new Presentation("presentation1.pptx"))
{
  // 소스 프레젠테이션 파일을 나타내는 Presentation 개체를 인스턴스화합니다.
	using (Presentation presentation2 = new Presentation("presentation2.pptx"))
	{
		// 슬라이드 마스터만 사용하여 처음 두 슬라이드 병합
		presentation1.Slides.AddClone(presentation2.Slides[0], presentation1.Masters[0], true);
		presentation1.Slides.AddClone(presentation2.Slides[1], presentation1.Masters[0], true);
	}
	presentation1.Save("merged-presentation-master.pptx", Export.SaveFormat.Pptx);
}

병합된 프레젠테이션

C#을 사용하여 결합된 파워포인트 프레젠테이션

결론

이 문서에서는 C#을 사용하여 두 개 이상의 PowerPoint 프레젠테이션을 병합하는 방법을 배웠습니다. VB.NET을 사용하여 프레젠테이션을 병합하기 위해 C# 코드 샘플을 이식할 수 있습니다. Aspose의 .NET PowerPoint API에 대해 자세히 알아보려면 문서를 방문하십시오.

또한보십시오

팁: Aspose의 API로 개발된 프레젠테이션용 웹 뷰어 앱에 관심이 있을 수 있습니다.