跳過到頁腳內容
.NET幫助

C#字符串包含(對開發者如何理解其工作)

在當今的開發領域,處理 PDF 文件是需要處理文件、表單或報告的應用程式的常見需求。 無論您是建立電子商務平台、文件管理系統,還是僅僅需要處理發票,從 PDF 中提取和搜尋文字都至關重要。 本文將指導您如何在.NET專案中使用C# string.Contains()IronPDF來搜尋和提取 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

How to Search Text in PDF Files Using C

在深入研究如何搜尋 PDF 之前,我們先來了解如何使用IronPDF從 PDF 中提取文字。

使用IronPDF進行基本的 PDF 文字擷取

IronPDF提供了一個簡單的 API,從 PDF 文件中提取文字。 這樣一來,您就可以輕鬆地在 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() 方法傳回布林值,指示指定的字串是否存在於字串中。 這對於基本的文字搜尋尤其有用。

以下是如何使用 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

實用範例:如何檢查 PDF 文件中的 C# 字串是否包含關鍵字

讓我們透過一個實際例子進一步分析。 假設您想要尋找某個特定的發票號碼是否存在於 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 文件並提取其文字。 然後,我們使用 string.Contains() 在提取的文字中搜尋發票號碼 INV-12345
  • 由於 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 文件中搜索文本?

您可以結合使用 C# 的 string.Contains() 和 IronPDF 在 PDF 文件中搜索特定文本。首先,使用 IronPDF 的文本提取功能從 PDF 中提取文本,然後應用 string.Contains() 來尋找所需的文本。

在 .NET 中使用 IronPDF 進行 PDF 文本提取有什麼好處?

IronPDF 提供了易於使用的 API 用於從 PDFs 中提取文本,這對於需要高效處理文檔的應用程序非常重要。它簡化了流程,讓開發人員能夠專注於實施業務邏輯,而不必處理複雜的 PDF 操作。

如何確保使用 C# 在 PDFs 中進行不區分大小寫的文本搜索?

要在 PDFs 中執行不區分大小寫的文本搜索,請使用 IronPDF 提取文本,然後應用 C# 的 string.Contains() 方法與 StringComparison.OrdinalIgnoreCase,以在搜索過程中忽略大小寫。

哪些場景需要使用正則表達式而非 string.Contains()?

當您需要在從 PDF 中提取的文本中搜索複雜模式或多個關鍵字時,正則表達式比 string.Contains() 更合適。它們提供了不適用於簡單子字符串搜索的高級模式匹配能力。

從大型 PDF 文檔中提取文本時如何優化性能?

要在從大型 PDFs 中提取文本時優化性能,考慮分段處理文檔,比如逐頁處理。這種方法減少了內存使用並通過防止資源過載來提高系統性能。

IronPDF 是否與 .NET Core 和 .NET Framework 兼容?

是的,IronPDF 與 .NET Core 和 .NET Framework 兼容,使其對不同的 .NET 應用程序具有多樣性。這種兼容性確保它可以集成到不同類型的項目中而不會出現兼容性問題。

如何開始在 .NET 項目中使用 PDF 庫?

要在 .NET 項目中開始使用 IronPDF,請通過 Visual Studio 中的 NuGet 包管理器安裝它。安裝後,您可以將其導入到 C# 代碼庫中,並利用其功能,如文本提取和 PDF 操作,以滿足您的文檔處理需求。

IronPDF 的 PDF 操作的關鍵功能有哪些?

IronPDF 為 PDF 操作提供了一系列功能,包括文本提取、PDF 編輯和轉換。這些功能幫助開發人員高效處理 PDFs,簡化在 .NET 應用程序中如表單處理和文檔生成子的流程。

IronPDF 如何簡化 .NET 應用程序中的 PDF 處理?

IronPDF 通過提供全面的 API,讓開發人員能夠輕鬆創建、編輯和從 PDF 文件中提取數據來簡化 PDF 處理。這消除了對複雜配置的需求,使 .NET 應用程序內的高效文檔處理工作流程成為可能。

如何在 .NET 項目中安裝 IronPDF?

可以使用 Visual Studio 中的 NuGet 包管理器在 .NET 項目中安裝 IronPDF。使用命令:Install-Package IronPDF 將 IronPDF 添加到您的項目中並開始利用其 PDF 操控功能。

Jacob Mellor, Team Iron 首席技術官
首席技術官

Jacob Mellor是Iron Software的首席技術官,也是開創C# PDF技術的前瞻性工程師。作為Iron Software核心代碼庫的原始開發者,他自公司成立以來就塑造了公司的產品架構,並與CEO Cameron Rimington將公司轉型為服務NASA、Tesla以及全球政府機構的50多人公司。

Jacob擁有曼徹斯特大學土木工程一級榮譽學士學位(1998年–2001年)。他於1999年在倫敦開立首家軟體公司,並於2005年建立了他的第一個.NET組件,專注於解決Microsoft生態系統中的複雜問題。

他的旗艦作品IronPDF和Iron Suite .NET程式庫全球已獲得超過3000萬次NuGet安裝,他的基礎代碼不斷在全球各地驅動開發者工具。擁有25年以上的商業經驗和41年的編碼專業知識,Jacob仍然專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我