찾기 및 바꾸기 옵션을 사용하면 문서의 특정 텍스트를 한 번에 바꿀 수 있습니다. 이렇게 하면 전체 문서에서 텍스트가 나타날 때마다 수동으로 찾아서 업데이트할 필요가 없습니다. 이 기사에서는 한 단계 더 나아가 PDF 문서에서 텍스트 찾기 및 바꾸기 기능을 자동화하는 방법을 다룹니다. 특히, C# .NET에서 PDF의 텍스트를 찾고 바꾸는 방법을 배웁니다. 또한 C#을 사용하여 특정 페이지 또는 페이지 영역의 텍스트를 바꾸는 방법도 보여줍니다.
- PDF에서 텍스트 찾기 및 바꾸기를 위한 C# API
- C#을 사용하여 PDF에서 텍스트 찾기 및 바꾸기
- PDF의 특정 페이지에서 텍스트 바꾸기
- PDF 페이지 영역에서 텍스트 바꾸기
- Regex를 사용하여 PDF에서 텍스트 찾기 및 바꾸기
PDF에서 텍스트 찾기 및 바꾸기를 위한 C# .NET API - 무료 다운로드
Aspose.PDF for .NET은 .NET 응용 프로그램에 대한 기본 및 고급 PDF 조작 기능을 제공하는 C# 클래스 라이브러리입니다. 또한 API를 사용하면 PDF 파일의 텍스트를 다양한 방식으로 원활하게 찾고 바꿀 수 있습니다. API의 DLL을 다운로드하거나 NuGet을 사용하여 설치할 수 있습니다.
PM> Install-Package Aspose.PDF
C#을 사용하여 PDF에서 텍스트 찾기 및 바꾸기
다음은 PDF 문서에서 텍스트를 찾고 바꾸는 단계입니다.
- Document 클래스를 사용하여 해당 경로를 사용하여 PDF 문서를 로드합니다.
- TextFragmentAbsorber 클래스의 인스턴스를 만들고 생성자에 검색 구문을 제공합니다.
- Document.Pages.Accept(TextFragmentAbsorber)를 사용하여 PDF의 모든 페이지에 대한 텍스트 흡수를 수락합니다.
- 추출된 텍스트 조각을 TextFragmentCollection 객체로 가져옵니다.
- 찾은 TextFragmentCollection을 반복하고 각 조각의 텍스트를 바꿉니다.
- Document.Save(String) 메서드를 사용하여 업데이트된 PDF 문서를 저장합니다.
다음 코드 샘플은 C#을 사용하여 PDF에서 텍스트를 찾고 바꾸는 방법을 보여줍니다.
// 문서 열기
Document pdfDocument = new Document("Document.pdf");
// 입력 검색 구문의 모든 인스턴스를 찾기 위해 TextAbsorber 객체 생성
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");
// 모든 페이지에 대해 흡수 장치를 수락하십시오.
pdfDocument.Pages.Accept(textFragmentAbsorber);
// 추출된 텍스트 조각 가져오기
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
// 조각을 통해 루프
foreach (TextFragment textFragment in textFragmentCollection)
{
// 텍스트 및 기타 속성 업데이트
textFragment.Text = "TEXT";
textFragment.TextState.Font = FontRepository.FindFont("Verdana");
textFragment.TextState.FontSize = 22;
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
}
// 결과 PDF 문서를 저장합니다.
pdfDocument.Save("updated-document.pdf");
C# 특정 PDF 페이지에서 텍스트 바꾸기
다음은 PDF 문서의 특정 페이지에서 텍스트를 찾아 바꾸는 단계입니다.
- Document 클래스를 사용하여 해당 경로를 사용하여 PDF 문서를 로드합니다.
- TextFragmentAbsorber 클래스의 인스턴스를 만들고 생성자에 검색 구문을 제공합니다.
- [Document.Pages1.Accept(TextFragmentAbsorber)]12를 사용하여 원하는 페이지의 텍스트 흡수기를 수락합니다.
- 발견된 TextFragmentAbsorber.TextFragments 컬렉션을 반복하고 각 조각의 텍스트를 바꿉니다.
- Document.Save(String) 메서드를 사용하여 업데이트된 PDF 문서를 저장합니다.
다음 코드 샘플은 C#을 사용하여 PDF의 특정 페이지에서 텍스트를 찾고 바꾸는 방법을 보여줍니다.
// 문서 열기
Document pdfDocument = new Document("Document.pdf");
// 입력 검색 구문의 모든 인스턴스를 찾기 위해 TextAbsorber 객체 생성
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");
// 원하는 흡수 장치를 수락
pdfDocument.Pages[1].Accept(textFragmentAbsorber);
// 추출된 텍스트 조각 가져오기
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
// 조각을 통해 루프
foreach (TextFragment textFragment in textFragmentCollection)
{
// 텍스트 및 기타 속성 업데이트
textFragment.Text = "TEXT";
textFragment.TextState.Font = FontRepository.FindFont("Verdana");
textFragment.TextState.FontSize = 22;
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
}
// 결과 PDF 문서를 저장합니다.
pdfDocument.Save("updated-document.pdf");
C#의 PDF 페이지 영역에서 텍스트 바꾸기
PDF 문서에서 페이지의 특정 영역에 있는 텍스트를 찾아 바꿀 수도 있습니다. 다음 단계는 특정 영역을 정의한 다음 그 안에 있는 텍스트를 바꾸는 방법을 보여줍니다.
- Document 클래스를 사용하여 해당 경로를 사용하여 PDF 문서를 로드합니다.
- TextFragmentAbsorber 클래스의 인스턴스를 만들고 생성자에 검색 구문을 제공합니다.
- Document.Pages[0].Accept(TextFragmentAbsorber)를 사용하여 원하는 페이지의 텍스트 흡수기를 수락합니다.
- Rectangle 클래스를 사용하여 페이지 영역을 정의합니다.
- TextFragmentAbsorber.TextFragments 컬렉션을 반복하고 각 조각의 텍스트를 바꿉니다.
- Document.Save(String) 메서드를 사용하여 업데이트된 PDF 문서를 저장합니다.
다음 코드 샘플은 C#을 사용하여 PDF의 특정 페이지 영역에서 텍스트를 찾고 바꾸는 방법을 보여줍니다.
// PDF 파일 로드
Document pdf = new Document("Document.pdf");
// TextFragment Absorber 객체 인스턴스화
TextFragmentAbsorber TextFragmentAbsorberAddress = new TextFragmentAbsorber();
// 페이지 경계 내에서 검색 텍스트
TextFragmentAbsorberAddress.TextSearchOptions.LimitToPageBounds = true;
// TextSearch 옵션에 대한 페이지 영역 지정
TextFragmentAbsorberAddress.TextSearchOptions.Rectangle = new Rectangle(100, 100, 200, 200);
// PDF 파일의 첫 페이지에서 텍스트 검색
pdf.Pages[1].Accept(TextFragmentAbsorberAddress);
// 개별 TextFragment를 통해 반복
foreach (TextFragment tf in TextFragmentAbsorberAddress.TextFragments)
{
// 텍스트를 공백 문자로 업데이트
tf.Text = "";
}
// 텍스트 교체 후 업데이트된 PDF 파일 저장
pdf.Save("output.pdf");
C# PDF의 텍스트를 정규 표현식으로 바꾸기(Regex)
또한 정규식을 사용하여 특정 패턴과 일치하는 텍스트 항목을 찾고 바꿀 수 있습니다. 이를 위해 일반 검색 구문 대신 정규식만 제공하고 TextSearchOptions를 사용하면 됩니다. 다음은 그렇게 하는 단계입니다.
- Document 클래스를 사용하여 해당 경로를 사용하여 PDF 문서를 로드합니다.
- TextFragmentAbsorber 클래스의 인스턴스를 만들고 생성자에 검색 구문을 제공합니다.
- TextSearchOptions 클래스의 인스턴스를 만들고 해당 생성자에 true를 전달하여 정규식 기반 검색을 활성화합니다.
- TextSearchOptions 개체를 TextFragmentAbsorber.TextSearchOptions 속성에 할당합니다.
- Document.Pages[0].Accept(TextFragmentAbsorber)를 사용하여 원하는 페이지의 텍스트 흡수기를 수락합니다.
- Rectangle 클래스를 사용하여 페이지 영역을 정의합니다.
- TextFragmentAbsorber.TextFragments 컬렉션을 반복하고 각 조각의 텍스트를 바꿉니다.
- Document.Save(String) 메서드를 사용하여 업데이트된 PDF 문서를 저장합니다.
다음 코드 샘플은 C#을 사용하여 정규식을 사용하여 PDF에서 텍스트를 찾고 바꾸는 방법을 보여줍니다.
// 문서 열기
Document pdfDocument = new Document("Document.pdf");
// 정규 표현식과 일치하는 모든 구문을 찾기 위해 TextAbsorber 객체 생성
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // Like 1999-2000
// 정규식 사용을 지정하는 텍스트 검색 옵션 설정
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.TextSearchOptions = textSearchOptions;
// 단일 페이지에 대한 흡수체를 수락하십시오.
pdfDocument.Pages[1].Accept(textFragmentAbsorber);
// 추출된 텍스트 조각 가져오기
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
// 조각을 통해 루프
foreach (TextFragment textFragment in textFragmentCollection)
{
// 텍스트 및 기타 속성 업데이트
textFragment.Text = "New Phrase";
// 개체의 인스턴스로 설정합니다.
textFragment.TextState.Font = FontRepository.FindFont("Verdana");
textFragment.TextState.FontSize = 22;
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
}
// PDF 저장
pdfDocument.Save("output.pdf");
결론
PDF 자동화는 웹 또는 데스크탑 애플리케이션 내에서 PDF 문서를 조작하기 위해 요즘 널리 채택되고 있습니다. 이 문서에서는 C#에서 PDF의 텍스트를 찾고 바꾸는 유용한 PDF 자동화 기능에 대해 설명했습니다. 단계별 가이드 및 코드 샘플은 전체 PDF, PDF의 특정 페이지 또는 페이지 영역에서 텍스트를 찾고 바꾸는 방법을 보여주었습니다. API의 문서를 사용하여 고급 기능을 탐색할 수 있습니다.