IRONSOFTWAREHOME
ACTUALIZACIONES PARA DESARROLLADORES

Humanizer C# (Cómo Funciona para Desarrolladores)

Jacob Mellor, Director de Tecnología @ Team Iron
Jacob Mellor
Updated: 23 de abril de 2026

Humanizer es una biblioteca .NET poderosa y flexible que simplifica y humaniza el proceso de trabajar con datos, especialmente cuando se trata de mostrar información en un formato amigable para el usuario. Ya sea que necesites convertir fechas a cadenas de tiempo relativo ("hace 3 días"), pluralizar palabras, formatear números como palabras, o trabajar con enums, mostrando cadenas, cadenas de entrada en mayúscula tipo Pascal como oraciones con descripciones personalizadas, cadenas de entrada subrayadas a cadenas de título normal, y truncación de texto largo, Humanizer proporciona una multitud de herramientas y métodos de extensión para manejar estas tareas elegantemente en C#.NET para convertir cadenas de entrada deshumanizadas en oraciones.

En este artículo, discutiremos un tutorial detallado de Humanizer en C#. También discutiremos cómo generar documentos PDF usando Humanizer e IronPDF para la biblioteca PDF de C#.

Instalación de Humanizer en C#

Para comenzar con Humanizer, necesitas instalar la biblioteca a través de NuGet. En tu proyecto, puedes hacerlo a través de la Consola del Administrador de Paquetes con el siguiente comando:

PM > Install-Package Humanizer

Alternativamente, si estás usando la CLI de .NET Core, puedes agregar Humanizer con:

> dotnet add package Humanizer

Después de la instalación, puedes comenzar a usar Humanizer incluyendo el espacio de nombres apropiado en tus archivos C#:

using Humanizer;

Humanizar fechas y horas

Uno de los usos más comunes de Humanizer es convertir fechas y horas en formatos legibles para humanos, períodos de tiempo, números y cantidades utilizando el método Humanize. Esto es particularmente útil para mostrar tiempos relativos, como "hace 2 horas" o "en 5 días".

Ejemplo: Humanizar el tiempo 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);
    }
}

El método de extensión de Humanizer maneja automáticamente diferentes unidades de tiempo e incluso ajusta para la corrección gramatical.

Humanizer C# (Cómo Funciona Para Desarrolladores): Figura 1 - Salida de Tiempo Relativo Humanizado

Humanizar los periodos de tiempo

Humanizer también puede humanizar objetos TimeSpan, facilitando mostrar las duraciones en un formato legible.

Ejemplo: Humanizar 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# (Cómo Funciona Para Desarrolladores): Figura 2 - Salida de TimeSpan Humanizado

Trabajar con números

Humanizer proporciona varios métodos para convertir números en palabras legibles y para manejar números ordinales.

Ejemplo: Conversión de números en palabras

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# (Cómo Funciona Para Desarrolladores): Figura 3 - Salida de Número a Palabra

Ejemplo: Conversión de números a ordinales

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# (Cómo Funciona Para Desarrolladores): Figura 4 - Salida de Número a Ordinal

Pluralización y singularización

Humanizer facilita la conversión de palabras entre sus formas singular y plural, lo cual es útil para la generación dinámica de texto largo basado en la cantidad.

Ejemplo: Pluralizar y singularizar palabras

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 también maneja pluralizaciones y singularizaciones irregulares, haciéndolo robusto para varios casos de uso.

Humanizer C# (Cómo Funciona Para Desarrolladores): Figura 5 - Salida de Pluralizar y Singularizar

Formateo de Enums

Los enums se utilizan frecuentemente en aplicaciones C# para representar un conjunto de constantes nombradas. Humanizer puede convertir valores enum en cadenas legibles para los humanos.

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

Este método puede ser particularmente útil para mostrar etiquetas amigables para el usuario en las UIs.

Humanizer C# (Cómo Funciona Para Desarrolladores): Figura 6 - Salida de Enum Humanizado

Humanizar el tamaño de los bytes

Otra característica útil de Humanizer es la capacidad de humanizar tamaños de byte, convirtiendo grandes valores de byte en formatos legibles como KB, MB o GB.

Ejemplo: Humanizar el tamaño de los 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# (Cómo Funciona Para Desarrolladores): Figura 7 - Salida de Tamaño de Byte Humanizado

Escenarios avanzados

Humanizer no se limita a los escenarios básicos descritos anteriormente. Admite una amplia gama de funciones avanzadas como el método Truncate y múltiples idiomas y extensiones.

Ejemplo: Humanizar los desfases de DateTime

Humanizer también puede manejar DateTimeOffset, lo cual es útil para aplicaciones que tratan con zonas horarias.

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# (Cómo Funciona Para Desarrolladores): Figura 8 - Salida de Desplazamiento de DateTime Humanizado

Consideraciones sobre el rendimiento

Humanizer está diseñado para ser eficiente, pero como cualquier biblioteca, su rendimiento depende de cómo se use. Para aplicaciones que requieren alto rendimiento, especialmente aquellas que manejan grandes conjuntos de datos o procesamiento en tiempo real, es esencial considerar el impacto de las operaciones frecuentes de humanización.

IronPDF for C#

IronPDF es una biblioteca integral de generación y manipulación de PDF para aplicaciones .NET. Permite a los desarrolladores crear, leer, editar y extraer contenido de archivos PDF con facilidad. IronPDF está diseñado para ser fácil de usar, ofreciendo una amplia gama de funcionalidades, incluyendo convertir HTML a PDF, fusionar documentos, añadir marcas de agua, y mucho más. Su versatilidad y potentes características lo convierten en una excelente opción para manejar documentos PDF en proyectos C#.

Instalación de IronPDF mediante el gestor de paquetes NuGet

Sigue estos pasos para instalar IronPDF usando el Administrador de Paquetes NuGet:

  1. Abra su proyecto en Visual Studio:

    • Inicia Visual Studio y abre tu proyecto C# existente o crea uno nuevo.
  2. Abra el Administrador de paquetes NuGet :

    • Haz clic derecho en tu proyecto en el Explorador de Soluciones.
  • Selecciona "Administrar paquetes NuGet…" del menú context.

Humanizer C# (Cómo Funciona Para Desarrolladores): Figura 9 - Administrador de Paquetes NuGet

  1. Instalar IronPDF:
  • En el Administrador de Paquetes NuGet, ve a la pestaña "Examinar".
    • Busca IronPDF.
    • Selecciona el paquete IronPDF de los resultados de búsqueda.
  • Haz clic en el botón "Instalar" para añadir IronPDF a tu proyecto.

Humanizer C# (Cómo Funciona Para Desarrolladores): Figura 10 - IronPDF

Siguiendo estos pasos, IronPDF se instalará y estará listo para usar en tu proyecto C#, permitiéndote aprovechar sus potentes capacidades de manipulación de PDF.

Ejemplo de Código de Humanizer y IronPDF en C#

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# (Cómo Funciona Para Desarrolladores): Figura 11 - Salida de PDF

Conclusión

Humanizer es una biblioteca indispensable para desarrolladores .NET que apuntan a crear aplicaciones que presenten información en un formato amigable y legible por humanos. Su amplia gama de características, desde la humanización de fechas y horas hasta el formateo de números y enums, lo convierten en una herramienta versátil para mejorar la usabilidad de las aplicaciones. Al aprovechar Humanizer, los desarrolladores pueden ahorrar tiempo y esfuerzo en implementar lógica de formateo personalizada, garantizando que sus aplicaciones comuniquen datos de manera más efectiva a los usuarios finales.

De manera similar, IronPDF ofrece capacidades integrales de generación y manipulación de PDF, convirtiéndolo en una excelente opción para crear y manejar documentos PDF en proyectos C#. Juntos, Humanizer e IronPDF pueden mejorar significativamente la funcionalidad y presentación de las aplicaciones .NET. Para más detalles sobre las licencias de IronPDF, consulta la Información sobre Licencias de IronPDF. Para explorar más, consulta nuestro Tutorial Detallado sobre la Conversión de HTML a PDF.

Jacob Mellor, Director de Tecnología @ Team Iron
Director de Tecnología

Jacob Mellor es Director de Tecnología de Iron Software y un ingeniero visionario pionero en la tecnología C# PDF. Como desarrollador original de la base de código principal de Iron Software, ha dado forma a la arquitectura de productos de la empresa desde su creación, transformándola, junto con el director ejecutivo Cameron Rimington, en una empresa de más de 50 personas que presta servicios a la NASA, Tesla y organismos gubernamentales de todo el mundo.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999