이 문서에는 C#에서 프로그래밍 방식으로 PDF를 PPT 또는 PPTX로 변환하는 단계와 코드 샘플이 포함되어 있습니다.

PDF를 PPT로 변환 C#

PDF는 레이아웃 문제에 대한 걱정 없이 안정적으로 문서를 교환하는 데 널리 사용되는 형식 중 하나입니다. 반면에 PowerPoint 프레젠테이션(PPT/PPTX)은 대화형 슬라이드 형식으로 데이터나 정보를 보다 쉽게 제시할 수 있게 해주었습니다. 어떤 경우에는 PDF 파일에 포함된 정보가 PowerPoint 프레젠테이션으로 표시되어야 합니다. 이러한 경우 PDF에서 PowerPoint PPT/PPTX로 정보를 가져오는 프로세스를 자동화하여 노력을 최소화할 수 있습니다.

위에서 언급한 시나리오를 처리하기 위해 이 문서에서는 다음을 수행하는 방법을 보여줍니다.

PDF를 PowerPoint로 변환하는 C# API

PDF를 PPT 또는 PPTX로 변환하기 위해 PDF 문서를 생성, 처리 및 변환하는 강력한 PDF API인 Aspose.PDF for .NET을 사용합니다. .NET용 Aspose.PDF는 NuGet다운로드 섹션의 DLL 형식에서 사용할 수 있습니다.

C#에서 PDF를 PPT 또는 PPTX로 변환

다음은 .NET용 Aspose.PDF를 사용하여 PDF 파일을 PowerPoint 프레젠테이션으로 변환하는 단계입니다.

다음 코드 샘플은 C#에서 PDF를 PPT로 변환하는 방법을 보여줍니다.

// PDF 문서 로드
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
// 출력 파일 저장
pdfDocument.Save("PDF to PPT.ppt", pptxOptions);

PDF 문서

변환된 파워포인트 PPT

C#에서 PDF를 PPT로 변환 - 슬라이드를 이미지로 렌더링

변환된 PowerPoint 프레젠테이션에서 텍스트를 선택하지 않으려면 각 슬라이드를 이미지로 렌더링할 수 있습니다. 이를 위해 PptxSaveOptions.SlidesAsImages 속성을 true로 설정하면 나머지 단계는 동일하게 유지됩니다.

다음 코드 샘플은 C#에서 슬라이드를 이미지로 포함하는 PDF를 PPT로 변환하는 방법을 보여줍니다.

// PDF 문서 로드
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
pptxOptions.SlidesAsImages = true;
// 출력 파일 저장
pdfDocument.Save("PDF to PPT.ppt", pptxOptions);

PDF를 PPT로 변환 진행 상황 추적

.NET용 Aspose.PDF를 사용하여 PDF에서 PPT로 변환 프로세스의 진행 상황을 추적할 수도 있습니다. 변환 프로세스에 대해 다음 정보를 검색할 수 있습니다.

  • 전환의 총 진행률
  • 전환 전 각 페이지 분석 종료
  • 물리적 내보내기 전 결과 페이지 생성
  • 각 결과 페이지 내보내기

다음 코드 샘플은 C#에서 PDF에서 PPT로의 변환을 추적하는 방법을 보여줍니다.

// PDF 문서 로드
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
// 슬라이드를 이미지로 렌더링
pptxOptions.SlidesAsImages = true;
// 콘솔에서 진행 상황 추적
pptxOptions.CustomProgressHandler = ShowProgressOnConsole;
// 출력 파일 저장
pdfDocument.Save("PDF to PPT.ppt", pptxOptions);

//----------------------------------

public static void ShowProgressOnConsole(PptxSaveOptions.ProgressEventHandlerInfo eventInfo)
{ 
	switch (eventInfo.EventType)
	{
		case ProgressEventType.TotalProgress:
			Console.WriteLine(String.Format("{0}  - Conversion progress : {1}% .", DateTime.Now.TimeOfDay, eventInfo.Value.ToString()));
			break;
		case ProgressEventType.ResultPageCreated:
			Console.WriteLine(String.Format("{0}  - Result page's {1} of {2} layout created.", DateTime.Now.TimeOfDay, eventInfo.Value.ToString(), eventInfo.MaxValue.ToString()));
			break;
		case ProgressEventType.ResultPageSaved:
			Console.WriteLine(String.Format("{0}  - Result page {1} of {2} exported.", DateTime.Now.TimeOfDay, eventInfo.Value.ToString(), eventInfo.MaxValue.ToString()));
			break;
		case ProgressEventType.SourcePageAnalysed:
			Console.WriteLine(String.Format("{0}  - Source page {1} of {2} analyzed.", DateTime.Now.TimeOfDay, eventInfo.Value.ToString(), eventInfo.MaxValue.ToString()));
			break;

		default:
			break;
	} 
}

산출

관련 기사

정보: Aspose는 자체 API를 사용하여 PDF를 PowerPoint로 변환하는 무료 온라인 서비스를 개발했습니다.