푸터 콘텐츠로 바로가기
.NET 도움말

C# 문자열 포함 여부 (개발자를 위한 작동 원리)

오늘날의 개발 세계에서, 애플리케이션이 문서, 양식, 보고서를 다루어야 하는 경우 PDF 사용은 일반적인 요구사항입니다. 전자상거래 플랫폼, 문서 관리 시스템을 구축하거나 단순히 송장을 처리해야 할 때, PDF에서 텍스트를 추출하고 검색하는 것은 중요할 수 있습니다. 이 글은 C# string.Contains()IronPDF를 사용하여 .NET 프로젝트에서 PDF 파일에서 텍스트를 검색하고 추출하는 방법을 안내할 것입니다.

문자열 비교와 특정 하위 문자열

검색을 수행할 때, 특정 문자열의 하위 문자열 요구사항에 따라 문자열 비교를 해야 할 수도 있습니다. 이러한 경우, C#은 string.Contains() 등과 같은 옵션을 제공하며 이는 가장 간단한 형태의 비교 중 하나입니다.

대소문자 구분 여부를 지정해야 하는 경우, StringComparison 열거형을 사용할 수 있습니다. 이를 통해 사용자가 원하는 문자열 비교 유형을 선택할 수 있습니다—예를 들어, 기본 비교 또는 대소문자 구분 없는 비교.

첫 번째 문자 위치나 마지막 문자 위치와 같이 문자열의 특정 위치를 작업하려면 항상 Substring을 사용하여 문자열의 특정 부분을 추가 처리할 수 있습니다.

비어 있는 문자열 검사나 다른 엣지 케이스를 찾고 있다면, 이러한 시나리오를 논리 내에서 처리해야 합니다.

큰 문서를 다룰 때, 메시 읽기 시간이 짧아지도록 텍스트 추출을 최적화하는 것이 유용합니다. 전체 문서보다 관련 부분만 추출하는 방향을 택하는 것이 좋습니다. 이는 메모리 및 처리 시간 과부하를 피하려 할 때 특히 유용합니다.

비교 규칙에 대한 최선의 접근이 확신이 없다면, 방법이 어떻게 작동하는지와 검색이 다른 시나리오에서 어떻게 동작하길 원하는지를 고려하세요 (예: 여러 용어 일치, 공백 처리 등).

단순한 하위 문자열 검사를 넘어서 더 고급 패턴 매칭이 필요한 경우, 정규 표현식을 사용하면 PDF 작업에 상당한 유연성을 제공합니다.

아직 사용해보지 않으셨다면, IronPDF의 무료 체험판을 통해 기능을 탐색하고 PDF 처리 작업을 간소화하는 방법을 확인해 보세요. 문서 관리 시스템 구축, 송장 처리, PDF 데이터 추출 등 다양한 작업에 IronPDF를 활용할 수 있습니다.

IronPDF란 무엇이며 왜 사용해야 하는가?

IronPDF는 .NET 생태계에서 PDF 작업을 돕기 위해 설계된 강력한 라이브러리입니다. 외부 도구나 복잡한 구성 설정에 의존하지 않고도 쉽게 PDF 파일을 생성, 읽기, 편집, 조작할 수 있게 해줍니다.

IronPDF 개요

IronPDF는 C# 애플리케이션에서 PDF 작업을 위한 다양한 기능을 제공합니다. 주요 기능은 다음과 같습니다.

  • 텍스트 추출: PDF에서 일반 텍스트 또는 구조화된 데이터를 추출합니다.
  • PDF 편집: 텍스트, 이미지, 페이지 추가, 삭제, 편집하여 기존 PDF를 수정합니다.
  • PDF 변환: HTML 또는 ASPX 페이지를 PDF로 변환하거나 그 반대로 변환합니다.
  • 폼 처리: 상호작용 PDF 폼의 폼 필드를 추출하거나 채웁니다.

IronPDF는 사용하기 쉽도록 설계되었으며, 복잡한 시나리오에서도 PDF를 다룰 수 있도록 유연합니다. .NET Core 및 .NET Framework와 원활하게 작동하기 때문에 .NET 기반 프로젝트에 완벽하게 적합합니다.

IronPDF 설치 중

IronPDF를 사용하려면 Visual Studio의 NuGet 패키지 관리자를 통해 설치하세요:

Install-Package IronPdf

C#을 사용하여 PDF 파일에서 텍스트 검색하기

PDF 검색에 들어가기 전에, 먼저 IronPDF를 사용하여 PDF에서 텍스트를 추출하는 방법을 이해해 봅시다.

IronPDF를 사용한 기본 PDF 텍스트 추출

IronPDF는 PDF 문서에서 텍스트를 추출할 수 있는 간단한 API를 제공합니다. 이를 통해 PDF 내에서 특정 콘텐츠를 쉽게 검색할 수 있습니다.

다음 예제는 IronPDF를 사용하여 PDF에서 텍스트를 추출하는 방법을 보여줍니다.

using IronPdf;
using System;

public class Program
{
    public static void Main(string[] args)
    {
        // Load the PDF from a file
        PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
        // Extract all text from the PDF
        string text = pdf.ExtractAllText();
        // Optionally, print the extracted text to the console
        Console.WriteLine(text);
    }  
}
using IronPdf;
using System;

public class Program
{
    public static void Main(string[] args)
    {
        // Load the PDF from a file
        PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
        // Extract all text from the PDF
        string text = pdf.ExtractAllText();
        // Optionally, print the extracted text to the console
        Console.WriteLine(text);
    }  
}
Imports IronPdf
Imports System

Public Class Program
	Public Shared Sub Main(ByVal args() As String)
		' Load the PDF from a file
		Dim pdf As PdfDocument = PdfDocument.FromFile("invoice.pdf")
		' Extract all text from the PDF
		Dim text As String = pdf.ExtractAllText()
		' Optionally, print the extracted text to the console
		Console.WriteLine(text)
	End Sub
End Class
$vbLabelText   $csharpLabel

이 예제에서 ExtractAllText() 메서드는 PDF 문서에서 모든 텍스트를 추출합니다. 이 텍스트는 특정 키워드나 구를 검색하기 위해 처리될 수 있습니다.

텍스트 검색을 위한 string.Contains() 사용

PDF에서 텍스트를 추출한 후, C#의 기본 메서드인 string.Contains()를 사용하여 특정 단어 또는 구를 검색할 수 있습니다.

string.Contains() 메서드는 지정된 문자열이 문자열 내에 존재하는지 여부를 나타내는 Boolean 값을 반환합니다. 이는 기본 텍스트 검색에 특히 유용합니다.

다음은 추출된 텍스트에서 키워드를 검색하기 위해 string.Contains()를 사용하는 방법입니다.

bool isFound = text.Contains("search term", StringComparison.OrdinalIgnoreCase);
bool isFound = text.Contains("search term", StringComparison.OrdinalIgnoreCase);
Dim isFound As Boolean = text.Contains("search term", StringComparison.OrdinalIgnoreCase)
$vbLabelText   $csharpLabel

실용 예제: C# 문자열이 PDF 문서에서 키워드를 포함하는지 확인하는 방법

실용적인 예제로 이를 더 구체적으로 알아봅시다. 특정 송장 번호가 PDF 송장 문서에 존재하는지 확인하고 싶다고 가정해 봅시다.

다음을 구현하는 전체 예시입니다:

using IronPdf;
using System;

public class Program
{
    public static void Main(string[] args)
    {
        string searchTerm = "INV-12345";
        // Load the PDF from a file
        PdfDocument pdf = PdfDocument.FromFile("exampleInvoice.pdf");
        // Extract all text from the PDF
        string text = pdf.ExtractAllText();
        // Search for the specific invoice number
        bool isFound = text.Contains(searchTerm, StringComparison.OrdinalIgnoreCase);
        // Provide output based on whether the search term was found
        if (isFound)
        {
            Console.WriteLine($"Invoice number: {searchTerm} found in the document");
        }
        else
        {
            Console.WriteLine($"Invoice number {searchTerm} not found in the document");
        }
    }  
}
using IronPdf;
using System;

public class Program
{
    public static void Main(string[] args)
    {
        string searchTerm = "INV-12345";
        // Load the PDF from a file
        PdfDocument pdf = PdfDocument.FromFile("exampleInvoice.pdf");
        // Extract all text from the PDF
        string text = pdf.ExtractAllText();
        // Search for the specific invoice number
        bool isFound = text.Contains(searchTerm, StringComparison.OrdinalIgnoreCase);
        // Provide output based on whether the search term was found
        if (isFound)
        {
            Console.WriteLine($"Invoice number: {searchTerm} found in the document");
        }
        else
        {
            Console.WriteLine($"Invoice number {searchTerm} not found in the document");
        }
    }  
}
Imports IronPdf
Imports System

Public Class Program
	Public Shared Sub Main(ByVal args() As String)
		Dim searchTerm As String = "INV-12345"
		' Load the PDF from a file
		Dim pdf As PdfDocument = PdfDocument.FromFile("exampleInvoice.pdf")
		' Extract all text from the PDF
		Dim text As String = pdf.ExtractAllText()
		' Search for the specific invoice number
		Dim isFound As Boolean = text.Contains(searchTerm, StringComparison.OrdinalIgnoreCase)
		' Provide output based on whether the search term was found
		If isFound Then
			Console.WriteLine($"Invoice number: {searchTerm} found in the document")
		Else
			Console.WriteLine($"Invoice number {searchTerm} not found in the document")
		End If
	End Sub
End Class
$vbLabelText   $csharpLabel

PDF 입력

C# 문자열 포함 (개발자를 위한 작동 방식): 그림 1

콘솔 출력

C# 문자열 포함 (개발자를 위한 작동 방식): 그림 2

이 예시에서는 다음과 같습니다.

  • PDF 파일을 불러오고 해당 텍스트를 추출합니다.
  • 그런 다음, 추출된 텍스트에서 송장 번호 INV-12345을 검색하기 위해 string.Contains()을 사용합니다.
  • 검색은 StringComparison.OrdinalIgnoreCase 때문에 대소문자를 구분하지 않습니다.

정규 표현식을 사용한 검색 향상

string.Contains()는 간단한 부분 문자열 검색에는 적합하지만, 패턴이나 일련의 키워드를 찾는 것과 같은 더 복잡한 검색을 수행하고자 할 수도 있습니다. 이를 위해 정규 표현식을 사용할 수 있습니다.

다음은 PDF 텍스트에서 유효한 송장 번호 형식을 검색하기 위한 정규 표현식을 사용하는 예시입니다:

using IronPdf;
using System;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main(string[] args)
    {
        // Define a regex pattern for a typical invoice number format (e.g., INV-12345)
        string pattern = @"INV-\d{5}";
        // Load the PDF from a file
        PdfDocument pdf = PdfDocument.FromFile("exampleInvoice.pdf");
        // Extract all text from the PDF
        string text = pdf.ExtractAllText();
        // Perform the regex search
        Match match = Regex.Match(text, pattern);
        // Check if a match was found
        if (match.Success)
        {
            Console.WriteLine($"Invoice number found: {match.Value}");
        }
        else
        {
            Console.WriteLine("No matching invoice number found.");
        }
    }  
}
using IronPdf;
using System;
using System.Text.RegularExpressions;

public class Program
{
    public static void Main(string[] args)
    {
        // Define a regex pattern for a typical invoice number format (e.g., INV-12345)
        string pattern = @"INV-\d{5}";
        // Load the PDF from a file
        PdfDocument pdf = PdfDocument.FromFile("exampleInvoice.pdf");
        // Extract all text from the PDF
        string text = pdf.ExtractAllText();
        // Perform the regex search
        Match match = Regex.Match(text, pattern);
        // Check if a match was found
        if (match.Success)
        {
            Console.WriteLine($"Invoice number found: {match.Value}");
        }
        else
        {
            Console.WriteLine("No matching invoice number found.");
        }
    }  
}
Imports IronPdf
Imports System
Imports System.Text.RegularExpressions

Public Class Program
	Public Shared Sub Main(ByVal args() As String)
		' Define a regex pattern for a typical invoice number format (e.g., INV-12345)
		Dim pattern As String = "INV-\d{5}"
		' Load the PDF from a file
		Dim pdf As PdfDocument = PdfDocument.FromFile("exampleInvoice.pdf")
		' Extract all text from the PDF
		Dim text As String = pdf.ExtractAllText()
		' Perform the regex search
		Dim match As Match = Regex.Match(text, pattern)
		' Check if a match was found
		If match.Success Then
			Console.WriteLine($"Invoice number found: {match.Value}")
		Else
			Console.WriteLine("No matching invoice number found.")
		End If
	End Sub
End Class
$vbLabelText   $csharpLabel

이 코드는 INV-XXXXX 패턴을 따르는 모든 송장 번호를 검색할 것입니다. 여기서 XXXXX는 일련의 숫자입니다.

.NET에서 PDF를 다루기 위한 모범 사례

PDF, 특히 크거나 복잡한 문서를 다룰 때는 몇 가지 모범 사례를 염두에 두십시오:

텍스트 추출 최적화

  • 대형 PDF 처리: 대형 PDF를 다루는 경우, 메모리 사용을 줄이고 성능을 향상시키기 위해 작은 덩어리(페이지별로)로 텍스트를 추출하는 것이 좋습니다.
  • 특수 인코딩 처리: PDF의 인코딩과 특수 문자를 유의하십시오. IronPDF는 일반적으로 이를 잘 처리하지만, 복잡한 레이아웃이나 글꼴은 추가 처리가 필요할 수 있습니다.

IronPDF를 .NET 프로젝트에 통합

IronPDF는 .NET 프로젝트와 쉽게 통합됩니다. NuGet을 통해 IronPDF 라이브러리를 다운로드하여 설치한 후, 위의 예제와 같이 C# 코드베이스에 간단히 가져올 수 있습니다.

IronPDF의 유연성 덕분에 다음과 같이 복잡한 문서 처리 워크플로우를 구축할 수 있습니다:

  • 양식에서 데이터 검색 및 추출.
  • HTML을 PDF로 변환하고 내용 추출.
  • 사용자 입력 또는 데이터베이스에서 데이터를 기반으로 보고서 생성.

결론

IronPDF는 특히 PDF에서 텍스트를 추출하고 검색해야 할 때 PDF 작업을 쉽고 효율적으로 만들어줍니다. C#의 string.Contains() 메서드를 IronPDF의 텍스트 추출 기능과 결합하면 .NET 애플리케이션에서 PDF를 빠르게 검색하고 처리할 수 있습니다.

아직 사용해보지 않으셨다면, 오늘 IronPDF의 무료 체험판을 다운로드하여 기능을 탐색하고 PDF 처리 작업을 간소화하는 방법을 확인해 보세요. 문서 관리 시스템 구축, 송장 처리, PDF 데이터 추출 등 다양한 작업에 IronPDF가 도움이 됩니다.

IronPDF를 시작하려면 무료 체험판을 다운로드하고 강력한 PDF 조작 기능을 직접 경험해 보세요. IronPDF의 웹사이트를 방문하여 오늘 시작하세요.

자주 묻는 질문

C# string.Contains()을 사용하여 PDF 파일에서 텍스트를 검색하는 방법은 무엇인가요?

IronPDF의 텍스트 추출 기능을 사용하여 PDF에서 텍스트를 추출한 후, 원하는 텍스트를 찾기 위해 string.Contains()을 적용할 수 있습니다.

.NET에서 PDF 텍스트 추출에 IronPDF를 사용하는 장점은 무엇인가요?

IronPDF는 PDF에서 텍스트를 추출하기 위한 사용하기 쉬운 API를 제공하며, 이는 효율적으로 문서를 처리해야 하는 애플리케이션에 필수적입니다. 복잡한 PDF 조작을 다루는 대신 비즈니스 로직 구현에 집중할 수 있도록 프로세스를 단순화합니다.

C#을 사용하여 PDF에서 대소문자를 구분하지 않는 텍스트 검색을 보장하려면 어떻게 해야 하나요?

IronPDF로 텍스트를 추출한 후, C#의 string.Contains() 메서드를 StringComparison.OrdinalIgnoreCase와 함께 사용하여 검색 중에 대소문자 민감도를 무시하도록 하세요.

어떤 상황에서 string.Contains()보다 정규 표현식을 사용하는 것이 필요할까요?

PDF에서 추출한 텍스트 내에서 복잡한 패턴이나 여러 키워드를 검색해야 할 때, 정규 표현식은 string.Contains()보다 적합합니다. 정규 표현식은 간단한 하위 문자열 검색으로는 불가능한 고급 패턴 매칭 기능을 제공합니다.

대형 PDF 문서에서 텍스트를 추출할 때 성능을 최적화하려면 어떻게 해야 하나요?

대형 PDF에서 텍스트를 추출할 때 성능을 최적화하려면 문서를 페이지별로 나누어 작은 섹션으로 처리하는 것을 고려하세요. 이 접근 방식은 리소스 과부하를 방지하여 메모리 사용량을 줄이고 시스템 성능을 향상시킵니다.

IronPDF는 .NET Core와 .NET Framework 모두와 호환되나요?

네, IronPDF는 .NET Core와 .NET Framework 모두와 호환되어 다양한 .NET 애플리케이션에서 유연하게 사용할 수 있습니다. 이 호환성 덕분에 여러 프로젝트 유형에 문제없이 통합할 수 있습니다.

.NET 프로젝트에서 PDF 라이브러리를 사용하기 시작하려면 어떻게 해야 하나요?

.NET 프로젝트에서 IronPDF를 사용하려면 Visual Studio의 NuGet 패키지 관리자를 통해 설치하세요. 설치가 완료되면, C# 코드베이스에 가져와 텍스트 추출 및 PDF 조작 등의 기능을 활용하여 문서 처리 요구를 충족시킬 수 있습니다.

PDF 조작을 위한 IronPDF의 주요 기능은 무엇입니까?

IronPDF는 텍스트 추출, PDF 편집 및 변환을 포함한 다양한 PDF 조작 기능을 제공하며, 이러한 기능을 통해 개발자들이 PDF를 효과적으로 처리할 수 있도록 도와줍니다. 이는 양식 처리 및 .NET 애플리케이션에서의 문서 생성과 같은 프로세스를 간소화합니다.

IronPDF가 .NET 애플리케이션에서 PDF 처리를 어떻게 단순화할 수 있나요?

IronPDF는 포괄적인 API를 제공하여 개발자가 PDF 파일을 쉽게 생성, 편집 및 데이터 추출을 할 수 있도록 함으로써 복잡한 설정의 필요성을 제거하고 .NET 애플리케이션 내에서 효율적인 문서 처리 워크플로우를 가능하게 합니다.

.NET 프로젝트에 IronPDF를 어떻게 설치하나요?

IronPDF는 Visual Studio의 NuGet 패키지 관리자를 사용하여 .NET 프로젝트에 설치할 수 있습니다. IronPDF를 프로젝트에 추가하고 PDF 조작 기능을 활용하기 위해 명령어 Install-Package IronPdf를 사용하세요.

제이콥 멜러, 팀 아이언 최고기술책임자
최고기술책임자

제이콥 멜러는 Iron Software의 최고 기술 책임자(CTO)이자 C# PDF 기술을 개척한 선구적인 엔지니어입니다. Iron Software의 핵심 코드베이스를 최초로 개발한 그는 창립 초기부터 회사의 제품 아키텍처를 설계해 왔으며, CEO인 캐머런 리밍턴과 함께 회사를 NASA, 테슬라, 그리고 전 세계 정부 기관에 서비스를 제공하는 50명 이상의 직원을 보유한 기업으로 성장시켰습니다.

제이콥은 맨체스터 대학교에서 토목공학 학사 학위(BEng)를 최우등으로 취득했습니다(1998~2001). 1999년 런던에서 첫 소프트웨어 회사를 설립하고 2005년 첫 .NET 컴포넌트를 개발한 후, 마이크로소프트 생태계 전반에 걸쳐 복잡한 문제를 해결하는 데 전문성을 발휘해 왔습니다.

그의 대표 제품인 IronPDF 및 Iron Suite .NET 라이브러리는 전 세계적으로 3천만 건 이상의 NuGet 설치 수를 기록했으며, 그의 핵심 코드는 전 세계 개발자들이 사용하는 다양한 도구에 지속적으로 활용되고 있습니다. 25년의 실무 경험과 41년의 코딩 전문성을 바탕으로, 제이콥은 차세대 기술 리더들을 양성하는 동시에 기업 수준의 C#, Java, Python PDF 기술 혁신을 주도하는 데 주력하고 있습니다.

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해