.NET ヘルプ

C# 文字列に含まれるもの(開発者向けの動作方法)

現代の開発の世界では、ドキュメント、フォーム、レポートを扱う必要があるアプリケーションにおいて、PDFを扱うことは一般的な要件です。 eコマースプラットフォーム、ドキュメント管理システムを構築している場合や、請求書を処理する必要があるだけの場合でも、PDFからテキストを抽出し検索することは重要です。 この記事では、.NETプロジェクトでPDFファイルからテキストを検索および抽出するために、C# string.Contains()IronPDF と共に使用する方法を案内します。

文字列の比較と指定された部分文字列

検索を行う際には、特定の文字列部分文字列の要件に基づいて文字列の比較を行う必要があるかもしれません。 このような場合、C#はstring.Contains()のようなオプションを提供しており、これは比較の最も簡単な形式の1つです。

ケース感度を無視するかどうかを指定する必要がある場合は、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
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
$vbLabelText   $csharpLabel

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)
    {
        PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
        string str = pdf.ExtractAllText();
    }  
}
using IronPdf;
using System;
public class Program
{
    public static void Main(string[] args)
    {
        PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
        string str = pdf.ExtractAllText();
    }  
}
Imports IronPdf
Imports System
Public Class Program
	Public Shared Sub Main(ByVal args() As String)
		Dim pdf As PdfDocument = PdfDocument.FromFile("invoice.pdf")
		Dim str As String = pdf.ExtractAllText()
	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

実用例:C#文字列がPDF文書にキーワードを含んでいるかを確認する方法

実用的な例でさらに分解してみましょう。 特定の請求書番号がPDF請求書ドキュメントに存在するかどうかを見つけたいとします。

以下に、これを実装する方法の完全な例を示します。

using IronPdf;
public class Program
{
    public static void Main(string[] args)
    {
        string searchTerm = "INV-12345";
        PdfDocument pdf = PdfDocument.FromFile("exampleInvoice.pdf");
        string text = pdf.ExtractAllText();
        bool isFound = text.Contains(searchTerm, StringComparison.OrdinalIgnoreCase);
        if (isFound)
        {
            Console.WriteLine($"Invoice number: {searchTerm} found in the document");
        }
        else
        {
            Console.WriteLine($"Invoice number {searchTerm} not found in the document");
        }
    }  
}
using IronPdf;
public class Program
{
    public static void Main(string[] args)
    {
        string searchTerm = "INV-12345";
        PdfDocument pdf = PdfDocument.FromFile("exampleInvoice.pdf");
        string text = pdf.ExtractAllText();
        bool isFound = text.Contains(searchTerm, StringComparison.OrdinalIgnoreCase);
        if (isFound)
        {
            Console.WriteLine($"Invoice number: {searchTerm} found in the document");
        }
        else
        {
            Console.WriteLine($"Invoice number {searchTerm} not found in the document");
        }
    }  
}
Imports IronPdf
Public Class Program
	Public Shared Sub Main(ByVal args() As String)
		Dim searchTerm As String = "INV-12345"
		Dim pdf As PdfDocument = PdfDocument.FromFile("exampleInvoice.pdf")
		Dim text As String = pdf.ExtractAllText()
		Dim isFound As Boolean = text.Contains(searchTerm, StringComparison.OrdinalIgnoreCase)
		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# String Contains(開発者向けの動作方法):図1

コンソール出力

C# String Contains(開発者向けの動作方法):図2

この例では:

  • PDFファイルを読み込み、そのテキストを抽出します。
  • 次に、string.Contains() を使用して、抽出されたテキスト内で請求書番号 INV-12345 を検索します。
  • 検索は StringComparison.OrdinalIgnoreCase により大文字小文字を区別しません。

正規表現による検索の強化

string.Contains() は単純な部分文字列検索には適していますが、パターンや一連のキーワードを見つけるなど、より複雑な検索を行いたい場合があります。 これには、正規表現を使用できます。

PDFテキスト内の有効な請求書番号形式を検索するための正規表現を使用した例を次に示します。

using IronPdf;
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}";
        PdfDocument pdf = PdfDocument.FromFile("exampleInvoice.pdf");
        string text = pdf.ExtractAllText();
        // Perform the regex search
        Match match = Regex.Match(text, pattern);
    }  
}
using IronPdf;
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}";
        PdfDocument pdf = PdfDocument.FromFile("exampleInvoice.pdf");
        string text = pdf.ExtractAllText();
        // Perform the regex search
        Match match = Regex.Match(text, pattern);
    }  
}
Imports IronPdf
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}"
		Dim pdf As PdfDocument = PdfDocument.FromFile("exampleInvoice.pdf")
		Dim text As String = pdf.ExtractAllText()
		' Perform the regex search
		Dim match As Match = Regex.Match(text, pattern)
	End Sub
End Class
$vbLabelText   $csharpLabel

このコードは、INV-XXXXXというパターンに従う請求書番号を検索します。ここで、XXXXXは数字の並びです。

.NETでPDFを扱うためのベストプラクティス

PDFを扱う際、特に大きなまたは複雑なドキュメントの場合、いくつかのベストプラクティスを心に留めておく必要があります。

テキスト抽出の最適化

  • 大きなPDFの処理: 大きなPDFを扱う場合、メモリ使用量を削減し、パフォーマンスを向上させるために、テキストを小さなチャンク(ページごと)に分割して抽出するのが良いアイデアです。
  • 特殊エンコーディングの処理: PDF内のエンコーディングや特殊文字に注意してください。 IronPDFは通常この点をうまく処理しますが、複雑なレイアウトやフォントは追加の処理が必要な場合があります。

.NETプロジェクトへのIronPDFの統合

IronPDFは.NETプロジェクトに簡単に統合できます。 NuGetを介してIronPDFライブラリをダウンロードおよびインストールした後、上記の例に示されているように、単にそれをC#コードベースにインポートします。

IronPDFの柔軟性により、以下のような高度なドキュメント処理ワークフローを構築できます。

  • フォームからデータを検索して抽出します。
  • HTMLをPDFに変換し、コンテンツを抽出する。
  • ユーザー入力またはデータベースからのデータに基づいてレポートを作成する。

結論

IronPDFはPDFの操作を簡単かつ効率的にし、特にPDF内のテキストを抽出したり検索したりする際に役立ちます。 C# の string.Contains() メソッドを IronPDF のテキスト抽出機能と組み合わせることで、.NET アプリケーションで PDF を迅速に検索および処理できます。

まだ試していない場合は、今日中にIronPDFの無料トライアルをお試しください。その機能を探索し、PDF処理の作業をどのように効率化できるかをご確認ください。 ドキュメント管理システムの構築や請求書の処理、またはPDFからデータを抽出する必要がある場合、IronPDFはその仕事に最適なツールです。

IronPDFを始めるには、無料トライアルをダウンロードし、強力なPDF操作機能を直接体験してください。 IronPDFのウェブサイトを訪れて、今日から始めましょう。

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
C#ハッシュマップ(開発者向けの仕組み)
次へ >
C# の Trim(開発者向けの機能と動作)