.NET ヘルプ

C# 文字列メソッド(開発者向けの動作方法)

チペゴ
チペゴ・カリンダ
2025年4月3日
共有:

C#でPDFを扱うには、コンテンツをレンダリングおよびフォーマットするだけでなく、ニーズに応じてテキストを操作することも含まれます。 PDF内のテキストを抽出、検索、または編集する際に、C# string メソッドを活用する方法を知っていると、ワークフローが大幅に向上します。 この記事では、一般的なC#の文字列操作、それらがIronPDFにどのように適用されるか、そしてそれらをどのように利用してPDF処理タスクを効率化できるかを探ります。

IronPDFを使用した文字列メソッドの入門

C#は、テキストを多様な方法で操作するためのさまざまな文字列メソッドを提供します。 PDF内のコンテンツを操作する際に、基本的な連結や置換から正規表現といった高度な技術まで、これらの方法は不可欠です。

IronPDFは、C#でPDFを扱うための強力なライブラリであり、これらの文字列関数とシームレスに統合され、開発者にPDFコンテンツを扱うための柔軟なツールセットを提供します。 テキストの抽出、パターンの検索、またはコンテンツの操作が必要な場合は、IronPDFを使用してC#の文字列メソッドを理解することで、目標を達成することができます。

IronPDF: 強力なC# PDFライブラリ

C# 文字列メソッド (開発者向けの仕組み):図 1

Pixabay から追加アップロード

またはここに画像をドラッグアンドドロップします

画像の代替テキストを追加

IronPDFは、PDFの作成、操作、自動化を簡素化するために設計された.NET用の堅牢なPDFライブラリです。 動的なドキュメントを生成する必要がある場合でも、コンテンツを抽出および編集する必要がある場合でも、IronPDFは豊富な機能を備えたシームレスなソリューションを提供します。

主な機能

  • HTMLからPDFへの変換: 簡単にHTMLコンテンツを完全にスタイルされたPDFに変換できます。
  • テキスト抽出: 既存のPDFからテキストを抽出して操作します。
  • PDF編集: テキスト、画像を追加し、PDFに注釈を付けたり、既存のコンテンツを更新したりします。
  • デジタル署名: PDF にセキュリティ付きのデジタル署名を追加します。
  • PDF/A 準拠: あなたのPDFが厳しいアーカイブ基準を満たすようにします。
  • クロスプラットフォームサポート: Windows、Linux、macOS上で.NET Framework、.NET Core、.NET 5/6で動作します。

    IronPDFは、PDFに関するすべてのニーズを簡単かつ効率的に処理するための包括的なツールスイートを提供します。 今日から無料トライアルを始めて、その強力な機能を探り、IronPDFがどのようにPDFワークフローを効率化できるかをご覧ください!

C#における基本的な文字列操作

連結

文字列を扱う際、連結は最も簡単な操作の一つです。 C#では、複数の文字列を結合する方法がいくつかありますが、最も一般的な方法は+演算子とString.Concat()です。

string text1 = "Hello";
string text2 = "World";
string result = text1 + " " + text2;  // Output: "Hello World"
string text1 = "Hello";
string text2 = "World";
string result = text1 + " " + text2;  // Output: "Hello World"
Dim text1 As String = "Hello"
Dim text2 As String = "World"
Dim result As String = text1 & " " & text2 ' Output: "Hello World"
$vbLabelText   $csharpLabel

C# 文字列メソッド (開発者向けの仕組み): 図 2

Pixabay から追加アップロード

またはここに画像をドラッグアンドドロップします

画像の代替テキストを追加

IronPDFを使用する際、完全なドキュメントを作成するために文字列を連結したり、抽出されたコンテンツのテキストを操作したりする必要があるかもしれません。 たとえば、フォーマットを適用する前に、PDFドキュメントのヘッダーと本文を文字列としてマージすることができます。

var pdfText = "Header: " + extractedHeader + "\n" + "Body: " + extractedBody;
var pdfText = "Header: " + extractedHeader + "\n" + "Body: " + extractedBody;
Imports Microsoft.VisualBasic

Dim pdfText = "Header: " & extractedHeader & vbLf & "Body: " & extractedBody
$vbLabelText   $csharpLabel

これは、単純な文字列連結が指定された部分文字列を一つの整合したブロックに結合できることを示しています。 後で見るように、そのように連結された文字列は、PDFの動的なコンテンツを作成するために使用できます。

PDF出力:

C# 文字列メソッド(開発者向けの動作方法):図 3

Pixabay から追加アップロード

またはここに画像をドラッグアンドドロップします

画像の代替テキストを追加

PDF出力文字列

IronPDFを使用して新しいドキュメントを作成する際、テキスト文字列の指定されたインデックス位置は、ヘッダーやボディのような要素がページ上のどこに現れるかを決定するために重要です。 このようにして、現在の文字列オブジェクトはレイアウトの決定に直接影響を与えることができます。

PDF内のテキストフォーマット

テキストを抽出して操作した後、新しいPDFに追加する前にフォーマットが必要になるかもしれません。 IronPDFを使用すると、RenderHtmlAsPdf変換機能を用いてフォントスタイル、サイズ、さらには配置を設定することができます。C#の文字列メソッドを使用して動的にフォーマットされたコンテンツを生成するのに役立ちます。

例えば、HTMLタグと文字列を連結して動的なヘッダーや本文を作成することができます。

string htmlContent = "<h1>" + headerText + "</h1>" + "<p>" + bodyText + "</p>";
string htmlContent = "<h1>" + headerText + "</h1>" + "<p>" + bodyText + "</p>";
Dim htmlContent As String = "<h1>" & headerText & "</h1>" & "<p>" & bodyText & "</p>"
$vbLabelText   $csharpLabel

このHTMLコンテンツは、IronPDFを使用して適切にフォーマットされたPDFに変換できます。

PdfDocument pdf = HtmlToPdf.ConvertHtmlString(htmlContent);
pdf.SaveAs("formattedDocument.pdf");
PdfDocument pdf = HtmlToPdf.ConvertHtmlString(htmlContent);
pdf.SaveAs("formattedDocument.pdf");
Dim pdf As PdfDocument = HtmlToPdf.ConvertHtmlString(htmlContent)
pdf.SaveAs("formattedDocument.pdf")
$vbLabelText   $csharpLabel

PDF出力:

C# ストリングメソッド(開発者向けの動作方法):図4

Pixabay から追加アップロード

またはここに画像をドラッグアンドドロップします

画像の代替テキストを追加

このアプローチにより、動的に生成されたコンテンツを含むPDFを簡単に生成しつつ、適切なテキストフォーマットを確保できます。 動的なコンテンツから新しい文字列を生成することにより、整形されたHTMLコンテンツの文字列配列をIronPDFに渡し、PDF出力が要求に一致するようにすることができます。

指定された部分文字列の検索

多くの場合、文字列に特定の部分文字列が含まれているかどうかを確認する必要があります。 Contains() メソッドはこれに役立ちます。指定された文字列がターゲット文字列内に存在するかどうかに基づいて、true または false を返します。

string documentText = "Invoice Number: 12345";
bool containsInvoiceNumber = documentText.Contains("Invoice Number");
string documentText = "Invoice Number: 12345";
bool containsInvoiceNumber = documentText.Contains("Invoice Number");
Dim documentText As String = "Invoice Number: 12345"
Dim containsInvoiceNumber As Boolean = documentText.Contains("Invoice Number")
$vbLabelText   $csharpLabel

文字の指定位置を見つける

文字列内で指定された文字を見つけるには、IndexOf() メソッドが特に役立ちます。 それは、文字またはサブストリングが文字列内で最初に現れる指定された位置を返します。

string str = "Invoice Number: 12345"; int position = str.IndexOf('5'); // Returns the position of the first '5'
string str = "Invoice Number: 12345"; int position = str.IndexOf('5'); // Returns the position of the first '5'
Dim str As String = "Invoice Number: 12345"
Dim position As Integer = str.IndexOf("5"c) ' Returns the position of the first '5'
$vbLabelText   $csharpLabel

これは、IronPDFを使用してPDF内のテキストから数値や日付などの動的データを抽出する際に便利です。

PDF自動化のための高度な文字列技術

正規表現

より複雑なテキスト抽出には、正規表現 (Regex) がパターンマッチングの強力なツールを提供します。 正規表現を使うと、PDF内の非構造化テキストから日付、請求書番号、またはメールアドレスなどの構造化データを抽出できます。

using System.Text.RegularExpressions;
string text = "Date: 02/11/2025";
Match match = Regex.Match(text, @"\d{2}/\d{2}/\d{4}");
if (match.Success)
{
    string date = match.Value;  // Output: "02/11/2025"
}
using System.Text.RegularExpressions;
string text = "Date: 02/11/2025";
Match match = Regex.Match(text, @"\d{2}/\d{2}/\d{4}");
if (match.Success)
{
    string date = match.Value;  // Output: "02/11/2025"
}
Imports System.Text.RegularExpressions
Private text As String = "Date: 02/11/2025"
Private match As Match = Regex.Match(text, "\d{2}/\d{2}/\d{4}")
If match.Success Then
	Dim [date] As String = match.Value ' Output: "02/11/2025"
End If
$vbLabelText   $csharpLabel

正規表現は、可変内容または特定の形式をキャプチャする必要があるドキュメントに特に有用です。 IronPDFを使用して生のテキストを抽出し、正規表現と組み合わせることで、フォーム処理、データの検証、レポート作成などのタスクを自動化するのに役立ちます。

大きなテキスト用のStringBuilder

複数ページのコンテンツやデータ駆動のレポートなど、大きなテキストブロックを扱う際には、通常の文字列結合の代わりにStringBuilderを使用する方が効率的です。 StringBuilder は、多くの中間文字列インスタンスを作成することなく、大量のテキストを追加または変更する必要があるシナリオに最適化されています。

StringBuilder sb = new StringBuilder();
sb.AppendLine("Header: " + headerText);
sb.AppendLine("Content: " + bodyText);
string finalText = sb.ToString();
StringBuilder sb = new StringBuilder();
sb.AppendLine("Header: " + headerText);
sb.AppendLine("Content: " + bodyText);
string finalText = sb.ToString();
Dim sb As New StringBuilder()
sb.AppendLine("Header: " & headerText)
sb.AppendLine("Content: " & bodyText)
Dim finalText As String = sb.ToString()
$vbLabelText   $csharpLabel

IronPDFは大規模なPDFドキュメントを処理でき、ワークフローにStringBuilderを統合することで、PDF内の大きなテキストを生成または操作する際に、より良いパフォーマンスが保証されます。

文字列インスタンスがパターンに一致するかどうかの確認

Equals() メソッドは、2つの文字列インスタンスが一致するかどうか、つまり同じ値を持っているかどうかを確認します。 これは、PDFコンテンツ内での検証や比較に特に有用です。

string str1 = "Invoice";
string str2 = "Invoice";
bool isMatch = str1.Equals(str2); // Returns true as both have the same value
string str1 = "Invoice";
string str2 = "Invoice";
bool isMatch = str1.Equals(str2); // Returns true as both have the same value
Dim str1 As String = "Invoice"
Dim str2 As String = "Invoice"
Dim isMatch As Boolean = str1.Equals(str2) ' Returns true as both have the same value
$vbLabelText   $csharpLabel

IronPDFでは、抽出されたテキストを比較して、目的の形式または値に一致することを確認する際に適用できます。

ユニコード文字の処理

PDF内のテキストを扱う際に、指定されたUnicode文字を操作したり確認したりする必要があるかもしれません。 IndexOf() メソッドは、文字列内の特定のユニコード文字の位置を見つけるためにも使用できます。

string unicodeStr = "Hello * World";
int unicodePosition = unicodeStr.IndexOf('*'); // Finds the position of the unicode character
string unicodeStr = "Hello * World";
int unicodePosition = unicodeStr.IndexOf('*'); // Finds the position of the unicode character
Dim unicodeStr As String = "Hello * World"
Dim unicodePosition As Integer = unicodeStr.IndexOf("*"c) ' Finds the position of the unicode character
$vbLabelText   $csharpLabel

PDF出力

C# 文字列メソッド(開発者向けの仕組み):図 5

Pixabay から追加アップロード

またはここに画像をドラッグアンドドロップします

画像の代替テキストを追加

さらに、文字列をユニコード文字配列に変換することは、異なる言語や記号でテキストを扱う際に役立ちます。

char[] unicodeArray = "Hello * World".ToCharArray();
char[] unicodeArray = "Hello * World".ToCharArray();
Dim unicodeArray() As Char = "Hello * World".ToCharArray()
$vbLabelText   $csharpLabel

これは、特にさまざまな言語や形式のPDFを扱う際に、文字のより正確な操作を可能にします。

部分文字列の抽出と操作

文字列を扱う際のもう一つの強力な機能は、指定した部分文字列を抽出する能力です。 Substring() メソッドは、指定されたインデックス位置から文字列の一部を選択することができます。 これは、PDFコンテンツから意味のあるデータを抽出するために不可欠です。

string sentence = "Total: $45.00";
string totalAmount = sentence.Substring(7); // Extracts "$45.00"
string sentence = "Total: $45.00";
string totalAmount = sentence.Substring(7); // Extracts "$45.00"
Dim sentence As String = "Total: $45.00"
Dim totalAmount As String = sentence.Substring(7) ' Extracts "$45.00"
$vbLabelText   $csharpLabel

この技術は、請求書やPDF内の構造化されたテキストを処理する際に便利です。

C#の文字列メソッドを使用してPDFを生成する

すべてをまとめて、C#文字列メソッドがIronPDFを使用してPDFを生成する方法のより包括的な例を見てみましょう。 この例では、テキストを抽出し、文字列メソッドで操作した後、フォーマットされたPDFを生成する方法を示します。

例: カスタム請求書PDFの作成

顧客の名前、住所、購入された商品などの情報を引き出して、動的に請求書のPDFを生成する必要があると想像してください。 最終的なPDFを生成する前に、データをフォーマットし操作するために様々な文字列メソッドを使用します。

using IronPdf;
using System;
using System.Text;
class Program
{
    static void Main()
    {
        // Sample customer data
        string customerName = "John Doe";
        string customerAddress = "123 Main Street, Springfield, IL 62701";
        string[] purchasedItems = { "Item 1 - $10.00", "Item 2 - $20.00", "Item 3 - $30.00" };
        // Start building the HTML content for the invoice
        StringBuilder invoiceContent = new StringBuilder();
        // Adding the header
        invoiceContent.AppendLine("<h1>Invoice</h1>");
        invoiceContent.AppendLine("<h2>Customer Details</h2>");
        invoiceContent.AppendLine("<p><strong>Name:</strong> " + customerName + "</p>");
        invoiceContent.AppendLine("<p><strong>Address:</strong> " + customerAddress + "</p>");
        // Adding the list of purchased items
        invoiceContent.AppendLine("<h3>Items Purchased</h3>");
        invoiceContent.AppendLine("<ul>");
        foreach (var item in purchasedItems)
        {
            invoiceContent.AppendLine("<li>" + item + "</li>");
        }
        invoiceContent.AppendLine("</ul>");
        // Calculate total cost (basic manipulation with string methods)
        double totalCost = 0;
        foreach (var item in purchasedItems)
        {
            string priceString = item.Substring(item.LastIndexOf('$') + 1);
            double price = Convert.ToDouble(priceString);
            totalCost += price;
        }
        // Adding total cost
        invoiceContent.AppendLine("<p><strong>Total Cost:</strong> $" + totalCost.ToString("F2") + "</p>");
        // Convert the HTML to PDF using IronPDF
        var pdf = HtmlToPdf.ConvertHtmlString(invoiceContent.ToString());
        // Save the generated PDF
        pdf.SaveAs("Invoice_Johndoe.pdf");
        Console.WriteLine("Invoice PDF generated successfully.");
    }
}
using IronPdf;
using System;
using System.Text;
class Program
{
    static void Main()
    {
        // Sample customer data
        string customerName = "John Doe";
        string customerAddress = "123 Main Street, Springfield, IL 62701";
        string[] purchasedItems = { "Item 1 - $10.00", "Item 2 - $20.00", "Item 3 - $30.00" };
        // Start building the HTML content for the invoice
        StringBuilder invoiceContent = new StringBuilder();
        // Adding the header
        invoiceContent.AppendLine("<h1>Invoice</h1>");
        invoiceContent.AppendLine("<h2>Customer Details</h2>");
        invoiceContent.AppendLine("<p><strong>Name:</strong> " + customerName + "</p>");
        invoiceContent.AppendLine("<p><strong>Address:</strong> " + customerAddress + "</p>");
        // Adding the list of purchased items
        invoiceContent.AppendLine("<h3>Items Purchased</h3>");
        invoiceContent.AppendLine("<ul>");
        foreach (var item in purchasedItems)
        {
            invoiceContent.AppendLine("<li>" + item + "</li>");
        }
        invoiceContent.AppendLine("</ul>");
        // Calculate total cost (basic manipulation with string methods)
        double totalCost = 0;
        foreach (var item in purchasedItems)
        {
            string priceString = item.Substring(item.LastIndexOf('$') + 1);
            double price = Convert.ToDouble(priceString);
            totalCost += price;
        }
        // Adding total cost
        invoiceContent.AppendLine("<p><strong>Total Cost:</strong> $" + totalCost.ToString("F2") + "</p>");
        // Convert the HTML to PDF using IronPDF
        var pdf = HtmlToPdf.ConvertHtmlString(invoiceContent.ToString());
        // Save the generated PDF
        pdf.SaveAs("Invoice_Johndoe.pdf");
        Console.WriteLine("Invoice PDF generated successfully.");
    }
}
Imports IronPdf
Imports System
Imports System.Text
Friend Class Program
	Shared Sub Main()
		' Sample customer data
		Dim customerName As String = "John Doe"
		Dim customerAddress As String = "123 Main Street, Springfield, IL 62701"
		Dim purchasedItems() As String = { "Item 1 - $10.00", "Item 2 - $20.00", "Item 3 - $30.00" }
		' Start building the HTML content for the invoice
		Dim invoiceContent As New StringBuilder()
		' Adding the header
		invoiceContent.AppendLine("<h1>Invoice</h1>")
		invoiceContent.AppendLine("<h2>Customer Details</h2>")
		invoiceContent.AppendLine("<p><strong>Name:</strong> " & customerName & "</p>")
		invoiceContent.AppendLine("<p><strong>Address:</strong> " & customerAddress & "</p>")
		' Adding the list of purchased items
		invoiceContent.AppendLine("<h3>Items Purchased</h3>")
		invoiceContent.AppendLine("<ul>")
		For Each item In purchasedItems
			invoiceContent.AppendLine("<li>" & item & "</li>")
		Next item
		invoiceContent.AppendLine("</ul>")
		' Calculate total cost (basic manipulation with string methods)
		Dim totalCost As Double = 0
		For Each item In purchasedItems
			Dim priceString As String = item.Substring(item.LastIndexOf("$"c) + 1)
			Dim price As Double = Convert.ToDouble(priceString)
			totalCost += price
		Next item
		' Adding total cost
		invoiceContent.AppendLine("<p><strong>Total Cost:</strong> $" & totalCost.ToString("F2") & "</p>")
		' Convert the HTML to PDF using IronPDF
		Dim pdf = HtmlToPdf.ConvertHtmlString(invoiceContent.ToString())
		' Save the generated PDF
		pdf.SaveAs("Invoice_Johndoe.pdf")
		Console.WriteLine("Invoice PDF generated successfully.")
	End Sub
End Class
$vbLabelText   $csharpLabel

説明

  • データセットアップ: 顧客名、住所、購入した商品のリストを含むサンプル顧客データから始めます。
  • StringBuilder: 請求書のHTMLコンテンツを構築するためにStringBuilderを使用します。これにより、複数の中間文字列インスタンスを作成することなく、コンテンツの各部分(ヘッダー、顧客詳細、購入品一覧、総費用)を効率的に追加できます。

    • 文字列操作:

      • 各項目について、$記号の後にある価格を抽出し、合計費用を計算します。これは、指定されたサブ文字列を取得するために Substring() を使用し、それを数値に変換するために Convert.ToDouble() を使用して行います。
  • 合計金額は、クリーンでプロフェッショナルな表示のために小数点以下2桁にフォーマットされます。
  • HTML から PDF への変換: HTML 形式で請求書のコンテンツを作成した後、IronPDF の RenderHtmlAsPdf() メソッドを使用して PDF を生成します。 結果は Invoice_Johndoe.pdf として保存されます。

    IronPDFの強力なHTML-to-PDF変換を使用し、それをC#の文字列操作技術と組み合わせることで、請求書、レポート、契約書であれ、動的なドキュメントの作成を自動化できます。

PDF出力

C# 文字列メソッド (開発者向けの機能説明): 図6

Pixabay から追加アップロード

またはここに画像をドラッグアンドドロップします

画像の代替テキストを追加

結論

IronPDFを使用する際にC#の文字列メソッドを習得すると、コンテンツの抽出、編集、またはフォーマットのどのタスクでも、PDF処理を効率化することができます。 文字列の連結、サブストリングの抽出、正規表現のような技術を活用することで、PDF内のテキストを完全に制御でき、より動的で効率的なワークフローを実現できます。

IronPDF は、C#の文字列メソッドとシームレスに連携する強力なPDF操作機能を提供します。 テキストの抽出を処理する場合でも、パターンを検索する場合でも、コンテンツ生成を自動化する場合でも、IronPDFをC#の文字列操作と組み合わせることで時間と労力を節約できます。

IronPDFがどのようにPDFの自動化を支援できるかをご覧になりたいですか? 今日無料トライアルを試し、その可能性を最大限に引き出してください!

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