IRONSOFTWAREHOME
ATUALIZAÇÕES DO DESENVOLVEDOR

Humanizador C# (Como funciona para desenvolvedores)

Curtis Chau
Curtis Chau
Updated: 23 de abril de 2026

Humanizer é uma biblioteca .NET poderosa e flexível que simplifica e humaniza o processo de trabalho com dados, especialmente quando se trata de exibir informações em um formato amigável ao usuário. Seja para converter datas em strings de tempo relativo ("há 3 dias"), pluralizar palavras, formatar números como palavras ou trabalhar com enumerações, exibir strings, converter strings de entrada em PascalCase em frases com descrições personalizadas, converter strings de entrada com sublinhados em strings com letras maiúsculas e minúsculas e truncar textos longos, o Humanizer oferece uma variedade de ferramentas e métodos de extensão para lidar com essas tarefas de forma elegante em C# .NET , convertendo strings de entrada desumanizadas em frases.

Neste artigo, discutiremos um tutorial detalhado sobre o Humanizer em C#. Também discutiremos como gerar documentos PDF usando o Humanizer e o IronPDF para a biblioteca PDF em C#.

Configurando o Humanizador em C#

Para começar a usar o Humanizer, você precisa instalar a biblioteca via NuGet. No seu projeto, você pode fazer isso através do Console do Gerenciador de Pacotes com o seguinte comando:

PM > Install-Package Humanizer

Alternativamente, se você estiver usando a CLI do .NET Core , poderá adicionar o Humanizer com:

dotnet add package Humanizer

Após a instalação, você pode começar a usar o Humanizer incluindo o namespace apropriado em seus arquivos C#:

using Humanizer;

Humanizando datas e horários

Um dos usos mais comuns do Humanizer é converter datas e horários em formatos legíveis para humanos, períodos de tempo, números e quantidades usando o método Humanize. Isso é particularmente útil para exibir tempos relativos, como "2 horas atrás" ou "em 5 dias".

Exemplo: Humanizando o Tempo Relativo

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

O método de extensão Humanizer lida automaticamente com diferentes unidades de tempo e até mesmo ajusta a correção gramatical.

Humanizer C# (Como Funciona para Desenvolvedores): Figura 1 - Humanizando a Saída de Tempo Relativo

Humanizando os intervalos de tempo

O Humanizer também pode humanizar objetos TimeSpan, facilitando a exibição de durações em um formato legível.

Exemplo: Humanizando o período de tempo

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# (Como Funciona para Desenvolvedores): Figura 2 - Humanizando a Saída de TimeSpan

Trabalhando com Números

O Humanizer oferece diversos métodos para converter números em palavras legíveis para humanos e para lidar com números ordinais.

Exemplo: Convertendo números em palavras

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# (Como Funciona para Desenvolvedores): Figura 3 - Saída de Número para Palavra

Exemplo: Convertendo números em ordinais

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# (Como Funciona para Desenvolvedores): Figura 4 - Saída de Número para Ordinal

Pluralização e Singularização

O Humanizer facilita a conversão de palavras entre suas formas singular e plural, o que é útil para gerar textos longos dinamicamente com base na quantidade.

Exemplo: Pluralização e Singularização de Palavras

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

O Humanizer também lida com pluralizações e singularizações irregulares, tornando-o robusto para diversos casos de uso.

Humanizer C# (Como Funciona para Desenvolvedores): Figura 5 - Saída de Pluralização e Singularização

Formatação de Enums

Enums são frequentemente usados ​​em aplicações C# para representar um conjunto de constantes nomeadas. O Humanizer pode converter valores de enumeração em strings legíveis para humanos.

Exemplo: Humanizando 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);
    }
}

Esse método pode ser particularmente útil para exibir rótulos fáceis de usar em interfaces de usuário.

Humanizer C# (Como Funciona para Desenvolvedores): Figura 6 - Saída de Humanizar Enum

Humanizando os tamanhos de byte

Outra funcionalidade útil do Humanizer é a capacidade de humanizar tamanhos de bytes, convertendo valores grandes em formatos legíveis como KB, MB ou GB.

Exemplo: Humanizando os tamanhos de bytes

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# (Como Funciona para Desenvolvedores): Figura 7 - Saída de Humanização de Tamanho em Bytes

Cenários Avançados

O Humanizer não se limita aos cenários básicos descritos acima. Ele suporta uma ampla gama de recursos avançados, como o método Truncate e múltiplos idiomas e extensões.

Exemplo: Humanizando os deslocamentos de data e hora

O Humanizer também pode lidar com DateTimeOffset, o que é útil para aplicações que lidam com fusos horários.

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# (Como Funciona para Desenvolvedores): Figura 8 - Saída de Offset de DateTime

Considerações sobre o desempenho

O Humanizer foi projetado para ser eficiente, mas, como qualquer biblioteca, seu desempenho depende de como é utilizado. Para aplicações que exigem alto desempenho, especialmente aquelas que lidam com grandes conjuntos de dados ou processamento em tempo real, é essencial considerar o impacto de operações frequentes de humanização.

IronPDF for C#

IronPDF é uma biblioteca completa para geração e manipulação de PDFs em aplicações .NET . Permite aos desenvolvedores criar, ler, editar e extrair conteúdo de arquivos PDF com facilidade. O IronPDF foi projetado para ser fácil de usar, oferecendo uma ampla gama de funcionalidades, incluindo conversão de HTML para PDF, mesclagem de documentos, adição de marcas d'água e muito mais. Sua versatilidade e recursos poderosos fazem dele uma excelente escolha para lidar com documentos PDF em projetos C#.

Instalando o IronPDF via Gerenciador de Pacotes NuGet

Siga estes passos para instalar o IronPDF usando o Gerenciador de Pacotes NuGet :

  1. Abra seu projeto no Visual Studio:

    • Inicie o Visual Studio e abra seu projeto C# existente ou crie um novo.
  2. Abra o Gerenciador de Pacotes NuGet :

    • Clique com o botão direito do mouse no seu projeto no Explorador de Soluções.
    • Selecione "Gerenciar pacotes NuGet ..." no menu de contexto.

Humanizer C# (Como Funciona para Desenvolvedores): Figura 9 - Gerenciador de Pacotes NuGet

  1. Instale o IronPDF:

    • No Gerenciador de Pacotes NuGet , acesse a guia "Procurar".
    • Pesquise por IronPDF .
    • Selecione o pacote IronPDF nos resultados da pesquisa.
    • Clique no botão "Instalar" para adicionar o IronPDF ao seu projeto.

Humanizer C# (Como Funciona para Desenvolvedores): Figura 10 - IronPDF

Seguindo estes passos, o IronPDF será instalado e estará pronto para uso em seu projeto C#, permitindo que você aproveite seus poderosos recursos de manipulação de PDF.

Exemplo de Código C# Humanizer e 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# (Como Funciona para Desenvolvedores): Figura 11 - Saída de PDF

Conclusão

Humanizer é uma biblioteca indispensável para desenvolvedores .NET que desejam criar aplicativos que apresentem informações em um formato amigável e legível para humanos. Sua ampla gama de recursos, desde a humanização de datas e horas até a formatação de números e enumerações, a torna uma ferramenta versátil para melhorar a usabilidade de aplicativos. Ao utilizar o Humanizer, os desenvolvedores podem economizar tempo e esforço na implementação de lógica de formatação personalizada, garantindo que seus aplicativos comuniquem dados de forma mais eficaz aos usuários finais.

Da mesma forma, o IronPDF oferece recursos abrangentes de geração e manipulação de PDFs, tornando-o uma excelente opção para criar e gerenciar documentos PDF em projetos C#. Em conjunto, o Humanizer e o IronPDF podem melhorar significativamente a funcionalidade e a apresentação de aplicações .NET . Para obter mais detalhes sobre o licenciamento do IronPDF , consulte as Informações de Licenciamento do IronPDF . Para explorar mais a fundo, confira nosso Tutorial Detalhado sobre Conversão de HTML para PDF .

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.