IRONSOFTWAREHOME
開発者向けアップデート

Humanizerは、C#における入力文字列を文に変換するための多数のツールと拡張メソッドを提供します。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
Jacob Mellor
Updated: 2026年4月23日

Humanizerは、特にユーザーフレンドリーな形式で情報を表示する際に、データを扱うプロセスを簡素化し、人間らしくする強力で柔軟な.NETライブラリです。 日付を相対時間("3日前")に変換、複数形にし、数字を単語としてフォーマットするなど、C#.NETでタスクをエレガントに処理するためのツールと拡張メソッドを提供します。

この記事では、C#でのHumanizerの詳細なチュートリアルを説明します。 また、C# PDFライブラリのためにHumanizerとIronPDFを使用してPDFドキュメントを生成する方法についても説明します。

C#でのHumanizerのセットアップ

Humanizerを始めるには、NuGet経由でライブラリをインストールする必要があります。 プロジェクトでは、パッケージマネージャコンソールを通じて次のコマンドでこれを行うことができます。

PM > Install-Package Humanizer

代わりに、.NET Core CLIを使用している場合は、次のコマンドでHumanizerを追加できます。

dotnet add package Humanizer

インストール後、適切な名前空間をC#ファイルに含めることでHumanizerを使用し始めることができます。

using Humanizer;

日付と時間の人間化

Humanizerの最も一般的な使用法の1つは、Humanize メソッドを使用して、日付や時刻を人間が読みやすい形式、時間間隔、数字、および数量に変換することです。 これは、"2時間前"や"5日後"のような相対的な時間を表示するのに特に便利です。

例: 相対時間の人間化

using System;

class HumanizerDemo
{
    static void Main()
    {
        DateTime pastDate = DateTime.Now.AddDays(-3);
        // Humanize the past date, which converts it to a relative time format
        string humanizedTime = pastDate.Humanize(); // Output: "3 days ago"

        DateTime futureDate = DateTime.Now.AddHours(5);
        // Humanize the future date, presenting it in relative time
        string futureHumanizedTime = futureDate.Humanize(); // Output: "in 5 hours"

        Console.WriteLine("Humanized Past Date: " + humanizedTime);
        Console.WriteLine("Humanized Future Date: " + futureHumanizedTime);
    }
}

Humanizerの拡張メソッドは、さまざまな時間単位を自動的に処理し、文法的な正確さも調整します。

図 1 - 相対的時間出力のヒューマナイズHumanizer C# (開発者向け動作概要):

TimeSpansの人間化

HumanizerはTimeSpan オブジェクトをヒューマナイズすることもでき、読みやすい形式で期間を表示するのが簡単になります。

例: TimeSpanの人間化

using System;

class TimeSpanHumanizerDemo
{
    static void Main()
    {
        TimeSpan timeSpan = TimeSpan.FromMinutes(123);
        // Humanizing the TimeSpan into hours and minutes
        string humanizedTimeSpan = timeSpan.Humanize(2); // Output: "2 hours, 3 minutes"
        Console.WriteLine("Humanized TimeSpan: " + humanizedTimeSpan);
    }
}

図 2 - TimeSpan出力のヒューマナイズHumanizer C# (開発者向け動作概要):

数値の処理

Humanizerは、数値を人間が読みやすい単語に変換し、序数を処理するためのいくつかのメソッドを提供します。

例: 数字を単語に変換する

using System;

class NumberHumanizerDemo
{
    static void Main()
    {
        int number = 123;
        // Convert number to words
        string words = number.ToWords(); // Output: "one hundred and twenty-three"
        Console.WriteLine("Number in Words: " + words);
    }
}

図 3 - 数字を単語に変換する出力Humanizer C# (開発者向け動作概要):

例: 数字を序数に変換する

using System;

class OrdinalHumanizerDemo
{
    static void Main()
    {
        int number = 21;
        // Convert number to ordinal words
        string ordinal = number.ToOrdinalWords(); // Output: "twenty-first"
        Console.WriteLine("Ordinal Number: " + ordinal);
    }
}

図 4 - 数字を序数に変換する出力Humanizer C# (開発者向け動作概要):

複数形と単数形の変換

Humanizerは、単語を単数形と複数形の間で簡単に変換することができ、量に基づいて動的に長文を生成するのに便利です。

例: 単語の複数化と単数化

using System;

class PluralizationDemo
{
    static void Main()
    {
        string singular = "car";
        // Pluralize the word
        string plural = singular.Pluralize(); // Output: "cars"

        string word = "people";
        // Singularize the word
        string singularForm = word.Singularize(); // Output: "person"

        Console.WriteLine("Plural of 'car': " + plural);
        Console.WriteLine("Singular of 'people': " + singularForm);
    }
}

Humanizerは、不規則な複数形と単数形も扱い、多様なユースケースに対して強力です。

図 5 - 複数化と単数化の出力Humanizer C# (開発者向け動作概要):

Enumsのフォーマット

EnumsはC#アプリケーションで名前付き定数のセットを表すために頻繁に使用されます。 Humanizerは、enum値を人間が読みやすい文字列に変換できます。

例: Enumsの人間化

using System;

public enum MyEnum
{
    FirstValue,
    SecondValue
}

class EnumHumanizerDemo
{
    static void Main()
    {
        MyEnum enumValue = MyEnum.FirstValue;
        // Humanizing enum to a readable format
        string humanizedEnum = enumValue.Humanize(); // Output: "First value"

        Console.WriteLine("Humanized Enum: " + humanizedEnum);
    }
}

このメソッドは、UIでユーザーフレンドリーなラベルを表示する際に特に便利です。

図 6 - Enum出力のヒューマナイズHumanizer C# (開発者向け動作概要):

バイトサイズの人間化

Humanizerのもう一つの便利な機能はバイトサイズを人間化し、大きなバイト値をKB、MB、GBなどの読みやすい形式に変換することです。

例: バイトサイズの人間化

using System;

class ByteSizeHumanizerDemo
{
    static void Main()
    {
        long bytes = 1048576;
        // Humanize bytes to a readable size format
        string humanizedBytes = bytes.Bytes().Humanize(); // Output: "1 MB"
        
        Console.WriteLine("Humanized Byte Size: " + humanizedBytes);
    }
}

図 7 - バイトサイズ出力のヒューマナイズHumanizer C# (開発者向け動作概要):

高度なシナリオ

Humanizerは、上記の基本的なシナリオに限られません。 Truncate メソッドや複数言語および拡張機能など、幅広い高度な機能をサポートしています。

例: DateTimeオフセットの人間化

HumanizerはDateTimeOffset を処理することも可能で、時間帯を扱うアプリケーションに役立ちます。

using System;

class DateTimeOffsetHumanizerDemo
{
    static void Main()
    {
        DateTimeOffset dateTimeOffset = DateTimeOffset.Now.AddDays(-2);
        // Humanize DateTimeOffset
        string humanizedDateTimeOffset = dateTimeOffset.Humanize(); // Output: "2 days ago"

        Console.WriteLine("Humanized DateTimeOffset: " + humanizedDateTimeOffset);
    }
}

図 8 - DateTime Offset出力のヒューマナイズHumanizer C# (開発者向け動作概要):

パフォーマンスの考慮事項

Humanizerは効率的に設計されていますが、他のライブラリと同様に、そのパフォーマンスは使用方法に依存します。 特に大規模なデータセットやリアルタイム処理を扱う高性能を必要とするアプリケーションの場合、頻繁な人間化操作の影響を考慮することが重要です。

IronPDF for C#

IronPDFは、.NETアプリケーション向けの包括的なPDF生成および操作ライブラリです。 開発者がPDFファイルを簡単に作成、読み取り、編集、およびコンテンツを抽出することを可能にします。 IronPDFは、ユーザーフレンドリーな設計で、HTMLからPDFへの変換、ドキュメントのマージ、透かしの追加など、多くの機能を提供します。 その多機能性と強力な機能は、C#プロジェクトでのPDFドキュメントの処理に最適です。

NuGetパッケージマネージャを使用したIronPDFのインストール

NuGetパッケージマネージャを使用してIronPDFをインストールする手順は次の通りです。

  1. Visual Studio でプロジェクトを開きます。

    • Visual Studioを起動し、既存のC#プロジェクトを開くか、新しいプロジェクトを作成します。
  2. NuGetパッケージ マネージャーを開きます。

  • ソリューションエクスプローラでプロジェクトを右クリックします。
    • コンテキストメニューから"Manage NuGet Packages…"を選択します。

図 9 - NuGet パッケージ マネージャーHumanizer C# (開発者向け動作概要):

  1. IronPDFをインストールします。

    • NuGetパッケージマネージャで"参照"タブに移動します。
    • IronPDFを検索します。
    • 検索結果からIronPDFパッケージを選択します。
    • "インストール"ボタンをクリックして、プロジェクトにIronPDFを追加します。

図 10 - IronPDFHumanizer C# (開発者向け動作概要):

これらの手順に従うことで、IronPDFがインストールされ、プロジェクトでのPDF操作の強力な機能を活用できるようになります。

C# Humanizer と IronPDF コード例

using Humanizer;
using IronPdf;
using System;
using System.Collections.Generic;

class PDFGenerationDemo
{
    static void Main()
    {
        // Instantiate the PDF renderer
        var renderer = new ChromePdfRenderer();
        
        // Generate humanized content
        List<string> content = GenerateHumanizedContent();
        
        // HTML content template for the PDF
        string htmlContent = "<h1>Humanizer Examples</h1><ul>";

        // Build the list items to add to the HTML content
        foreach (var item in content)
        {
            htmlContent += $"<li>{item}</li>";
        }
        htmlContent += "</ul>";

        // Render the HTML into a PDF document
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF to a file
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF document generated successfully: output.pdf");
    }

    /// <summary>
    /// Generates a list of humanized content examples
    /// </summary>
    /// <returns>List of humanized content as strings</returns>
    static List<string> GenerateHumanizedContent()
    {
        List<string> content = new List<string>();

        // DateTime examples
        DateTime pastDate = DateTime.Now.AddDays(-3);
        DateTime futureDate = DateTime.Now.AddHours(5);
        content.Add($"DateTime.Now: {DateTime.Now}");
        content.Add($"3 days ago: {pastDate.Humanize()}");
        content.Add($"In 5 hours: {futureDate.Humanize()}");

        // TimeSpan examples
        TimeSpan timeSpan = TimeSpan.FromMinutes(123);
        content.Add($"TimeSpan of 123 minutes: {timeSpan.Humanize()}");

        // Number examples
        int number = 12345;
        content.Add($"Number 12345 in words: {number.ToWords()}");
        content.Add($"Ordinal of 21: {21.ToOrdinalWords()}");

        // Pluralization examples
        string singular = "car";
        content.Add($"Plural of 'car': {singular.Pluralize()}");
        string plural = "children";
        content.Add($"Singular of 'children': {plural.Singularize()}");

        // Byte size examples
        long bytes = 1048576;
        content.Add($"1,048,576 bytes: {bytes.Bytes().Humanize()}");

        return content;
    }
}

図 11 - PDF出力Humanizer C# (開発者向け動作概要):

結論

Humanizerは、.NET開発者が人間に優しく、読みやすい形式で情報を提供するアプリケーションを作成するためには欠かせないライブラリです。 日時の人間化から数値や列挙型のフォーマットまでの幅広い機能が、アプリケーションの使いやすさを向上させるための多用途のツールとなっています。 Humanizerを利用することで、開発者はカスタムフォーマットロジックの実装にかかる時間と労力を節約し、アプリケーションがエンドユーザーにデータをより効果的に伝えることを保証します。

同様に、IronPDFは包括的なPDF生成と操作の機能を提供し、C#プロジェクトでのPDFドキュメントの作成と処理に最適です。 HumanizerとIronPDFを組み合わせることで、.NETアプリケーションの機能とプレゼンテーションが大幅に向上します。 IronPDFのライセンスについての詳細は、IronPDFライセンス情報を参照してください。 詳しくは、HTMLからPDFへの変換に関する詳細チュートリアルをチェックしてください。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。