IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

Humanizer C# (Comment ça fonctionne pour les développeurs)

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 23 avril 2026

Humanizer est une bibliothèque .NET puissante et flexible qui simplifie et humanise le traitement des données, surtout lorsqu'il s'agit d'afficher des informations dans un format convivial. Que vous ayez besoin de convertir des dates en chaînes de temps relatives (" il y a 3 jours "), de mettre des mots au pluriel, de formater des nombres en mots, ou de travailler avec des énumérations, d'afficher des chaînes, des entrées en Pascal case sous forme de phrases avec des descriptions personnalisées, des chaînes d'entrée soulignées en chaînes en casse normalisée, et de troncature de texte long, Humanizer offre une pléthore d'outils et de méthodes d'extension pour gérer ces tâches élégamment en C#.NET pour convertir des chaînes d'entrée déshumanisées en phrases.

Dans cet article, nous discuterons d'un tutoriel détaillé de Humanizer en C#. Nous discuterons également de la génération de documents PDF en utilisant Humanizer et IronPDF pour la bibliothèque PDF C#.

Installation de Humanizer en C#

Pour commencer avec Humanizer, vous devez installer la bibliothèque via NuGet. Dans votre projet, vous pouvez le faire via la Console du Gestionnaire de Packages avec la commande suivante :

PM > Install-Package Humanizer

Alternativement, si vous utilisez l'interface CLI de .NET Core, vous pouvez ajouter Humanizer avec :

> dotnet add package Humanizer

Après l'installation, vous pouvez commencer à utiliser Humanizer en incluant l'espace de noms approprié dans vos fichiers C# :

using Humanizer;

Humanisation des Dates et Heures

L'une des utilisations les plus courantes de Humanizer est de convertir les dates et les heures en formats lisibles par l'homme, les durées, les nombres et les quantités en utilisant la méthode Humanize. C'est particulièrement utile pour afficher des temps relatifs, comme "il y a 2 heures" ou "dans 5 jours".

Exemple : Humanisation du Temps Relatif

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

La méthode d'extension Humanizer gère automatiquement les différentes unités de temps et ajuste même pour la correction grammaticale.

Humanizer C# (Comment ça fonctionne pour les développeurs) : Figure 1 - Humanisation de la sortie de temps relatif

Humanisation des durées (TimeSpans)

Humanizer peut également humaniser les objets TimeSpan, ce qui permet de facilement afficher les durées dans un format lisible.

Exemple : Humanisation de 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# (Comment ça fonctionne pour les développeurs) : Figure 2 - Humanisation de la sortie TimeSpan

Travailler avec les Nombres

Humanizer fournit plusieurs méthodes pour convertir les nombres en mots lisibles par l'homme et pour gérer les nombres ordinaux.

Exemple : Conversion des Nombres en Mots

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# (Comment ça fonctionne pour les développeurs) : Figure 3 - Conversion de nombre en mot

Exemple : Conversion des Nombres en Ordinaux

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# (Comment ça fonctionne pour les développeurs) : Figure 4 - Conversion de nombre en ordinal

Pluralisation et Singularisation

Humanizer facilite la conversion des mots entre leurs formes singulières et plurielles, ce qui est utile pour générer dynamiquement du texte long en fonction de la quantité.

Exemple : Pluralisation et Singularisation des Mots

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 gère également les pluralisations et singularisations irrégulières, le rendant robuste pour divers cas d'utilisation.

Humanizer C# (Comment ça fonctionne pour les développeurs) : Figure 5 - Sortie de pluriel et singulier

Formatage des Enums

Les énumérations sont fréquemment utilisées dans les applications C# pour représenter un ensemble de constantes nommées. Humanizer peut convertir les valeurs d'énumération en chaînes lisibles par l'homme.

Exemple : Humanisation des 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);
    }
}

Cette méthode peut être particulièrement utile pour afficher des étiquettes conviviales dans les interfaces utilisateur.

Humanizer C# (Comment ça fonctionne pour les développeurs) : Figure 6 - Humanisation de la sortie Enum

Humanisation des Tailles de Bytes

Une autre fonctionnalité pratique de Humanizer est la capacité d'humaniser les tailles de bytes, en convertissant de grandes valeurs de bytes en formats lisibles comme Ko, Mo, ou Go.

Exemple : Humanisation des Tailles 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# (Comment ça fonctionne pour les développeurs) : Figure 7 - Humanisation de la taille en octets

Scénarios Avancés

Humanizer n'est pas limité aux scénarios de base décrits ci-dessus. Il prend en charge un large éventail de fonctionnalités avancées telles que la méthode Truncate et plusieurs langues et extensions.

Exemple : Humanisation des Décalages DateTime

Humanizer peut également gérer DateTimeOffset, ce qui est utile pour les applications traitant des fuseaux horaires.

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# (Comment ça fonctionne pour les développeurs) : Figure 8 - Humanisation de la sortie DateTime Offset

Considérations de performance

Humanizer est conçu pour être efficace, mais comme toute bibliothèque, ses performances dépendent de son utilisation. Pour les applications nécessitant des performances élevées, notamment celles traitant de grands ensembles de données ou de traitement en temps réel, il est essentiel de considérer l'impact des opérations d'humanisation fréquentes.

IronPDF for C#

IronPDF est une bibliothèque complète de génération et de manipulation de PDF pour les applications .NET. Il permet aux développeurs de créer, lire, modifier et extraire du contenu des fichiers PDF facilement. IronPDF est conçu pour être convivial, offrant une large gamme de fonctionnalités incluant la conversion d'HTML en PDF, la fusion de documents, l'ajout de filigranes, et bien plus. Sa polyvalence et ses fonctionnalités puissantes en font un excellent choix pour la gestion des documents PDF dans les projets C#.

Installation de IronPDF via le Gestionnaire de Packages NuGet

Suivez ces étapes pour installer IronPDF en utilisant le Gestionnaire de Packages NuGet :

  1. Ouvrez votre projet dans Visual Studio :
  • Lancez Visual Studio et ouvrez votre projet C# existant ou créez-en un nouveau.
  1. Ouvrez le Gestionnaire de packages NuGet :
  • Faites un clic droit sur votre projet dans l'Explorateur de Solutions.
  • Sélectionnez "Gérer les Packages NuGet…" dans le menu contextuel.

Humanizer C# (Comment ça fonctionne pour les développeurs) : Figure 9 - Gestionnaire de packages NuGet

  1. Installez IronPDF:
  • Dans le Gestionnaire de Packages NuGet, allez à l'onglet "Parcourir".
  • Recherchez IronPDF.
  • Sélectionnez le package IronPDF parmi les résultats de recherche.
  • Cliquez sur le bouton "Installer" pour ajouter IronPDF à votre projet.

Humanizer C# (Comment ça fonctionne pour les développeurs) : Figure 10 - IronPDF

En suivant ces étapes, IronPDF sera installé et prêt à être utilisé dans votre projet C#, vous permettant de tirer parti de ses capacités puissantes de manipulation de PDF.

Exemple de code C# Humanizer et 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# (Comment ça fonctionne pour les développeurs) : Figure 11 - Sortie PDF

Conclusion

Humanizer est une bibliothèque indispensable pour les développeurs .NET visant à créer des applications qui présentent des informations dans un format convivial et lisible par l'homme. Sa large gamme de fonctionnalités, de l'humanisation des dates et heures au formatage des nombres et enum, en fait un outil polyvalent pour améliorer l'utilisabilité des applications. En tirant parti de Humanizer, les développeurs peuvent économiser du temps et des efforts en implémentant une logique de formatage personnalisée, assurant que leurs applications communiquent plus efficacement les données aux utilisateurs finaux.

De même, IronPDF offre des capacités complètes de génération et de manipulation de PDF, faisant de lui un excellent choix pour la création et la gestion de documents PDF dans les projets C#. Ensemble, Humanizer et IronPDF peuvent améliorer considérablement la fonctionnalité et la présentation des applications .NET. Pour plus de détails sur la licence IronPDF, référez-vous à l'Informations de Licence IronPDF. Pour explorer davantage, consultez notre Tutoriel Détaillé sur la Conversion d'HTML en PDF.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $