텍스트 분석을 수행하기 위해 PowerPoint 슬라이드에서 텍스트를 추출해야 하는 경우가 종종 있습니다. 반면에 추가 처리를 위해 텍스트를 추출하여 파일이나 데이터베이스에 저장할 수 있습니다. 이에 따라 이 기사에서는 C#을 사용하여 PowerPoint 프레젠테이션에서 텍스트를 추출하는 방법을 다룹니다. 특히 특정 슬라이드나 전체 프레젠테이션에서 텍스트를 추출하는 방법을 배웁니다.
PowerPoint PPTX에서 텍스트를 추출하는 C# API
PowerPoint 프레젠테이션을 조작하기 위해 Aspose는 .NET용 Aspose.Slides를 제공합니다. 상기 API는 .NET 애플리케이션에서 PowerPoint 자동화 기능을 구현하도록 설계되었습니다. 또한 PPTX 프레젠테이션에서 텍스트를 추출하는 몇 가지 간단한 방법을 제공합니다. API를 다운로드하거나 NuGet을 사용하여 설치할 수 있습니다.
PM> Install-Package Aspose.Slides.NET
C#의 PowerPoint 슬라이드에서 텍스트 추출
다음은 PowerPoint 프레젠테이션의 슬라이드에서 텍스트를 추출하는 단계입니다.
- Presentation 클래스를 사용하여 프레젠테이션을 로드합니다.
- SlideUtil.GetAllTextBoxes() 메서드를 사용하여 슬라이드의 모든 텍스트 프레임을 ITextFrame 배열로 가져옵니다.
- 각 ITextFrame을 반복하고 ITextFrame.Paragraphs 속성을 사용하여 해당 텍스트에 액세스합니다.
- 단락의 각 부분에서 텍스트를 검색하고 인쇄합니다.
다음 코드 샘플은 C#을 사용하여 PowerPoint 슬라이드에서 텍스트를 추출하는 방법을 보여줍니다.
//PPTX 파일을 나타내는 PresentationEx 클래스를 초기화합니다.
Presentation pptxPresentation = new Presentation("demo.pptx");
//첫 번째 슬라이드에서 TextFrameEx 개체의 배열 가져오기
ITextFrame[] textFramesSlideOne = SlideUtil.GetAllTextBoxes(pptxPresentation.Slides[0]);
//TextFrames 배열을 통해 루프
for (int i = 0; i < textFramesSlideOne.Length; i++)
{
//현재 TextFrame의 단락 반복
foreach (Paragraph para in textFramesSlideOne[i].Paragraphs)
{
//현재 단락의 부분 반복
foreach (Portion port in para.Portions)
{
//현재 부분에 텍스트 표시
Console.WriteLine(port.Text);
//텍스트의 글꼴 높이 표시
Console.WriteLine(port.PortionFormat.FontHeight);
//텍스트의 글꼴 이름 표시
Console.WriteLine(port.PortionFormat.LatinFont.FontName);
}
}
}
C#의 PowerPoint 프레젠테이션에서 텍스트 추출
.NET용 Aspose.Slides를 사용하여 전체 PowerPoint 프레젠테이션에서 텍스트를 추출할 수도 있습니다. 다음은 이 작업을 수행하는 단계입니다.
- Presentation 클래스를 사용하여 프레젠테이션을 로드합니다.
- SlideUtil.GetAllTextFrames() 메서드를 사용하여 프레젠테이션의 모든 텍스트 프레임을 가져옵니다.
- 각 ITextFrame을 반복하고 해당 Paragraphs에 액세스합니다.
- 단락의 일부에 액세스하고 해당 텍스트를 인쇄합니다.
다음 코드 샘플은 PowerPoint 프레젠테이션에서 텍스트를 추출하는 방법을 보여줍니다.
//PPTX 파일을 나타내는 프레젠테이션 클래스를 시작합니다.
Presentation pptxPresentation = new Presentation("demo.pptx");
//PPTX의 모든 슬라이드에서 ITextFrame 개체 배열 가져오기
ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true);
//TextFrames 배열을 통해 루프
for (int i = 0; i < textFramesPPTX.Length; i++)
{
//현재 ITextFrame의 단락 반복
foreach (IParagraph para in textFramesPPTX[i].Paragraphs)
{
//현재 Iparagraph의 부분을 통해 루프
foreach (IPortion port in para.Portions)
{
//현재 부분에 텍스트 표시
Console.WriteLine(port.Text);
//텍스트의 글꼴 높이 표시
Console.WriteLine(port.PortionFormat.FontHeight);
//텍스트의 글꼴 이름 표시
if (port.PortionFormat.LatinFont != null)
Console.WriteLine(port.PortionFormat.LatinFont.FontName);
}
}
}
무료 API 라이선스 받기
평가 제한 없이 API를 사용해보고 싶다면 임시 라이선스를 무료로 받으세요.
결론
이 기사에서는 PowerPoint 프레젠테이션에서 텍스트를 추출하는 방법을 배웠습니다. 특히 C#을 사용하여 특정 슬라이드 또는 전체 프레젠테이션에서 텍스트를 추출하는 방법을 살펴보았습니다. 문서를 사용하여 .NET용 Aspose.Slides에 대해 자세히 알아볼 수 있습니다. 질문이나 혼동이 있는 경우 포럼을 통해 알려주십시오.