텍스트 찾기 및 바꾸기는 PowerPoint 프레젠테이션의 콘텐츠를 업데이트하는 데 자주 사용됩니다. 그러나 프레젠테이션 배치에 대해 이 작업을 수행하려면 자동화가 필요합니다. 따라서 이 문서에서는 C#을 사용하여 프로그래밍 방식으로 PowerPoint PPTX/PPT에서 텍스트를 찾고 바꾸는 방법을 다룹니다.
PowerPoint에서 텍스트 찾기 및 바꾸기를 위한 C# API
PowerPoint 프레젠테이션에서 텍스트를 찾고 바꾸기 위해 .NET용 Aspose.Slides를 사용합니다. .NET 응용 프로그램 내에서 PowerPoint 프레젠테이션을 만들고 조작하도록 설계된 기능이 풍부한 API입니다. API를 다운로드하거나 NuGet을 사용하여 설치할 수 있습니다.
PM> Install-Package Aspose.Slides.NET
C#을 사용하여 PowerPoint PPTX에서 텍스트 찾기 및 바꾸기
다음은 C#을 사용하여 PPTX 프레젠테이션에서 텍스트를 찾고 바꾸는 단계입니다.
- Presentation 클래스를 사용하여 PowerPoint 프레젠테이션을 로드합니다.
- 프레젠테이션의 각 슬라이드를 반복합니다.
- 각 반복에서 ITextFrame 배열의 텍스트 프레임을 가져옵니다.
- ITextFrame 배열을 반복하고 각 반복에서 다음 작업을 수행합니다.
- 각 텍스트 프레임에서 ParagraphCollection을 반복합니다.
- 각 Paragraph에서 PortionCollection에 액세스합니다.
- Portion.Text에 검색 문자열이 포함되어 있는지 확인합니다.
- 그렇다면 검색 문자열의 위치를 찾아 Portion.Text 속성을 설정하여 교체합니다.
- Presentation.Save(string, SaveFormat) 메서드를 사용하여 업데이트된 프레젠테이션을 저장합니다.
다음 코드 샘플은 PowerPoint 프레젠테이션에서 텍스트를 찾고 바꾸는 방법을 보여줍니다.
// 프레젠테이션 로드
Presentation pres = new Presentation("mytextone.pptx");
string strToFind = "search string";
string strToReplaceWith = "replace string";
// 각 슬라이드 반복
foreach (Slide slide in pres.Slides)
{
// 슬라이드의 모든 텍스트 프레임 가져오기
ITextFrame[] tf = SlideUtil.GetAllTextBoxes(slide);
for (int i = 0; i < tf.Length; i++)
foreach (Paragraph para in tf[i].Paragraphs)
foreach (Portion port in para.Portions)
// 바꿀 텍스트 찾기
if (port.Text.Contains(strToFind))
{
// 기존 텍스트를 새 텍스트로 교체
string str = port.Text;
int idx = str.IndexOf(strToFind);
string strStartText = str.Substring(0, idx);
string strEndText = str.Substring(idx + strToFind.Length, str.Length - 1 - (idx + strToFind.Length - 1));
port.Text = strStartText + strToReplaceWith + strEndText;
}
}
// 프레젠테이션 저장
pres.Save("myTextOneAspose.pptx", SaveFormat.Pptx);
무료 API 라이선스 받기
임시 라이선스를 요청하면 평가 제한 없이 Aspose.Slides for .NET을 사용할 수 있습니다.
결론
PowerPoint 프레젠테이션에서 텍스트 찾기 및 바꾸기 기능은 다양한 시나리오에서 사용됩니다. 이 작업을 자동화하기 위해 이 기사에서는 C#을 사용하여 프로그래밍 방식으로 PowerPoint 프레젠테이션에서 텍스트를 찾고 바꾸는 방법에 대해 설명했습니다. 애플리케이션에 API를 설치하고 제공된 코드 샘플을 통합하기만 하면 됩니다. 또한 문서를 방문하여 .NET용 Aspose.Slides의 다른 기능을 탐색할 수 있습니다. 또한 포럼을 통해 문의 사항을 자유롭게 알려주세요.