IRONSOFTWAREHOME
개발자 업데이트

Humanizer C# (개발자에게 어떻게 작동하는가)

제이콥 멜러, 팀 아이언 최고기술책임자
Jacob Mellor
Updated: 2026년 4월 23일

Humanizer는 데이터를 다루는 과정을 단순화하고 인간화하여, 특히 사용자 친화적인 형식으로 정보를 표시할 때 강력하고 유연한 .NET 라이브러리입니다. 날짜를 상대적인 시간 문자열("3일 전")로 변환하거나, 단어를 복수형으로 만들거나, 숫자를 단어로 형식화하거나, 열거형을 사용하여 문자열을 표시하거나, 사용자 정의 설명으로 문장으로 변환 가능하며, 밑줄로 구분된 입력 문자열을 표준 제목 케이스 문자열로 변환하고 긴 텍스트를 잘라내는 등의 작업을 할 때 Humanizer는 비인간화된 입력 문자열을 문장으로 변환하기 위한 도구와 확장 방법들을 제공하여 이러한 작업을 C#.NET에서 우아하게 처리할 수 있도록 합니다.

이 기사에서는 C#에서 Humanizer에 대한 자세한 튜토리얼을 논의할 것입니다. 또한 C# PDF Library를 위해 Humanizer와 IronPDF를 사용하여 PDF 문서를 생성하는 방법에 대해서도 논의할 것입니다.

C#에서 Humanizer 설정

Humanizer를 시작하려면 NuGet을 통해 라이브러리를 설치해야 합니다. 프로젝트에서, 다음 명령어를 사용하여 패키지 관리자 콘솔을 통해 이 작업을 수행할 수 있습니다:

PM > Install-Package Humanizer

또한 .NET Core CLI을 사용하는 경우 Humanizer를 추가할 수 있습니다:

dotnet add package Humanizer

설치 후, 올바른 네임스페이스를 C# 파일에 포함하여 Humanizer를 사용할 수 있습니다:

using Humanizer;

날짜 및 시간 인간화

Humanizer의 가장 일반적인 사용 중 하나는 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 확장 메서드는 다양한 시간 단위를 자동으로 처리하고 문법적으로도 정확하게 조정합니다.

Humanizer C# (개발자를 위한 작동 방식): 그림 1 - 상대 시간 출력 캡처

시간 간격 인간화

Humanizer는 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);
    }
}

Humanizer C# (개발자를 위한 작동 방식): 그림 2 - TimeSpan 출력 캡처

숫자 다루기

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);
    }
}

Humanizer C# (개발자를 위한 작동 방식): 그림 3 - 숫자를 단어로 변환한 출력 캡처

예시: 숫자를 서수로 변환하기

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);
    }
}

Humanizer C# (개발자를 위한 작동 방식): 그림 4 - 숫자를 서수로 변환한 출력 캡처

복수화 및 단수화

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는 불규칙한 복수화와 단수화도 처리하여 다양한 사용 사례에서 견고하게 작동합니다.

Humanizer C# (개발자를 위한 작동 방식): 그림 5 - 복수화 및 단수화 출력 캡처

열거형 형식화

열거형은 C# 애플리케이션에서 이름이 지정된 상수 집합을 나타내기 위해 자주 사용됩니다. Humanizer는 열거형 값을 사람에게 읽기 쉬운 문자열로 변환할 수 있습니다.

예시: 열거형을 사람이 읽기 쉽게 변환하기

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에서 사용자 친화적인 레이블을 표시하는 데 특히 유용할 수 있습니다.

Humanizer C# (개발자를 위한 작동 방식): 그림 6 - 열거형을 사람이 읽을 수 있도록 변환한 출력 캡처

바이트 크기 변환

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);
    }
}

Humanizer C# (개발자를 위한 작동 방식): 그림 7 - 바이트 크기를 사람이 읽을 수 있게 변환한 출력 캡처

고급 시나리오

Humanizer는 위에서 설명한 기본적인 시나리오에 국한되지 않습니다. 이 메서드와 여러 언어 및 확장을 포함한 다양한 고급 기능을 지원합니다.

예시: 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);
    }
}

Humanizer C# (개발자를 위한 작동 방식): 그림 8 - DateTime 오프셋 출력 캡처

성능 고려 사항

Humanizer는 효율성을 위해 설계되었지만, 다른 라이브러리와 마찬가지로 사용 방식에 따라 성능이 달라집니다. 대규모 데이터 세트나 실시간 처리와 같이 높은 성능을 요구하는 애플리케이션의 경우, 빈번한 Humanizer 작업의 영향을 고려하는 것이 중요합니다.

IronPDF for C#

IronPDF는 .NET 애플리케이션을 위한 포괄적인 PDF 생성 및 조작 라이브러리입니다. 개발자들이 PDF 파일을 수월하게 생성, 읽기, 편집, 콘텐츠 추출 등을 할 수 있도록 합니다. IronPDF는 HTML을 PDF로 변환하거나 문서를 병합하거나 워터마크를 추가하는 등 다양한 기능을 제공하여 사용자가 쉽게 사용할 수 있도록 설계되었습니다. 그 다양성과 강력한 기능은 C# 프로젝트에서 PDF 문서를 처리하는 데 탁월한 선택지입니다.

NuGet 패키지 관리자 통해 IronPDF 설치하기

IronPDF를 NuGet 패키지 관리자를 사용하여 설치하려면 다음 단계를 따릅니다:

  1. Visual Studio에서 프로젝트 열기:

    • Visual Studio를 시작하고 기존 C# 프로젝트를 열거나 새 프로젝트를 만듭니다.
  2. NuGet 패키지 관리자 열기:

    • 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭합니다.
    • 컨텍스트 메뉴에서 "NuGet 패키지 관리..."를 선택합니다.

Humanizer C# (개발자를 위한 작동 방식): 그림 9 - NuGet 패키지 관리자

  1. IronPDF 설치:

    • NuGet 패키지 관리자에서 "탐색" 탭으로 이동합니다.
    • IronPDF를 검색합니다.
    • 검색 결과에서 IronPDF 패키지를 선택합니다.
    • IronPDF를 프로젝트에 추가하려면 "설치" 버튼을 클릭합니다.

Humanizer C# (개발자를 위한 작동 방식): 그림 10 - IronPDF

이 단계를 따르면 IronPDF가 설치되어 C# 프로젝트에서 강력한 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;
    }
}

Humanizer C# (개발자를 위한 작동 방식): 그림 11 - PDF 출력 캡처

결론

Humanizer는 정보를 사용자 친화적이고 사람이 읽기 쉬운 형식으로 표시할 수 있는 애플리케이션을 만들려는 .NET 개발자들에게 필수적인 라이브러리입니다. 날짜 및 시간의 인간화부터 숫자 및 열거형 형식화까지 다양한 기능은 애플리케이션의 사용성을 향상시키기 위한 도구입니다. Humanizer를 활용하면 개발자는 사용자 정의 형식화 로직을 구현하는 데 시간과 노력을 절약하고, 애플리케이션이 최종 사용자에게 데이터를 더 효과적으로 전달할 수 있도록 보장합니다.

마찬가지로, IronPDF는 포괄적인 PDF 생성 및 조작 기능을 제공하여 C# 프로젝트에서 PDF 문서를 만들고 처리하는 데 있어 훌륭한 선택입니다. Humanizer와 IronPDF를 함께 사용하면 .NET 응용 프로그램의 기능과 프레젠테이션을 크게 향상시킬 수 있습니다. IronPDF 라이선스에 대한 자세한 내용은 IronPDF 라이선스 정보를 참조하십시오. 자세한 내용을 보려면 HTML을 PDF로 변환하는 자세한 튜토리얼을 확인하세요.

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

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

...
더 읽어보기

관련 기사

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

전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.

Iron Software의 고객 로고
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.