Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
Humanizer es una biblioteca .NET potente y flexible que simplifica y humaniza el proceso de trabajar con datos, especialmente cuando se trata de mostrar la información en un formato fácil de usar. Si necesita convertir fechas en cadenas de tiempo relativas("hace 3 días")para convertir cadenas de entrada deshumanizadas en frases, pluralizar palabras, formatear números como palabras o trabajar con enums, mostrar cadenas, convertir cadenas de entrada Pascal case en frases con descripciones personalizadas, convertir cadenas de entrada subrayadas en cadenas normales title case y truncar texto largo, Humanizer proporciona una plétora de herramientas y métodos de extensión para manejar estas tareas con elegancia en C#.NET para convertir cadenas de entrada deshumanizadas en frases.
En este artículo, vamos a discutir un tutorial detallado de Humanizer en C#. También discutiremos cómo generar documentos PDF utilizando Humanizer y IronPDF para C# PDF Library.
Para empezar a utilizar Humanizer, es necesario instalar la biblioteca a través de NuGet. En su proyecto, puede hacerlo a través de la consola del gestor de paquetes con el siguiente comando:
Install-Package Humanizer
Install-Package Humanizer
Como alternativa, si utiliza la CLI de .NET Core, puede añadir Humanizer con:
dotnet add package Humanizer
Tras la instalación, puede empezar a utilizar Humanizer incluyendo el espacio de nombres adecuado en sus archivos de C#:
using Humanizer;
using Humanizer;
Uno de los usos más comunes de Humanizer es convertir fechas y horas en formatos legibles por humanos, intervalos de tiempo, números y cantidades utilizando el método Humanize
. Esto resulta especialmente útil para mostrar tiempos relativos, como "hace 2 horas" o "dentro de 5 días".
DateTime pastDate = DateTime.Now.AddDays(-3);
string humanizedTime = pastDate.Humanize(); // Output: "3 days ago"
DateTime futureDate = DateTime.Now.AddHours(5);
string futureHumanizedTime = futureDate.Humanize(); // Output: "in 5 hours"
DateTime pastDate = DateTime.Now.AddDays(-3);
string humanizedTime = pastDate.Humanize(); // Output: "3 days ago"
DateTime futureDate = DateTime.Now.AddHours(5);
string futureHumanizedTime = futureDate.Humanize(); // Output: "in 5 hours"
El método de ampliación Humanizer maneja automáticamente diferentes unidades de tiempo e incluso se ajusta a la corrección gramatical.
Humanizer también puede humanizar objetos TimeSpan
, facilitando la visualización de duraciones en un formato legible.
TimeSpan timeSpan = TimeSpan.FromMinutes(123);
string humanizedTimeSpan = timeSpan.Humanize(2); // Output: "2 hours, 3 minutes"
TimeSpan timeSpan = TimeSpan.FromMinutes(123);
string humanizedTimeSpan = timeSpan.Humanize(2); // Output: "2 hours, 3 minutes"
Humanizer ofrece varios métodos para convertir números en palabras legibles y para tratar números ordinales.
int number = 123;
string words = number.ToWords(); // Output: "one hundred and twenty-three"
int number = 123;
string words = number.ToWords(); // Output: "one hundred and twenty-three"
int number = 21;
string ordinal = number.ToOrdinalWords(); // Output: "twenty-first"
int number = 21;
string ordinal = number.ToOrdinalWords(); // Output: "twenty-first"
Humanizer facilita la conversión de palabras entre sus formas singular y plural, lo que resulta útil para generar dinámicamente textos largos en función de la cantidad.
string singular = "car";
string plural = singular.Pluralize(); // Output: "cars"
string word = "people";
string singularForm = word.Singularize(); // Output: "person"
string singular = "car";
string plural = singular.Pluralize(); // Output: "cars"
string word = "people";
string singularForm = word.Singularize(); // Output: "person"
Humanizer maneja también pluralizaciones y singularizaciones irregulares, lo que lo hace robusto para diversos casos de uso.
Los Enums se utilizan con frecuencia en las aplicaciones de C# para representar un conjunto de constantes con nombre. Humanizer puede convertir valores enum en cadenas legibles por humanos.
MyEnum enumValue = MyEnum.FirstValue;
string humanizedEnum = enumValue.Humanize();
System.Console.WriteLine(humanizedEnum);
public enum MyEnum
{
FirstValue,
SecondValue
} // Output: "First value"
MyEnum enumValue = MyEnum.FirstValue;
string humanizedEnum = enumValue.Humanize();
System.Console.WriteLine(humanizedEnum);
public enum MyEnum
{
FirstValue,
SecondValue
} // Output: "First value"
Este método puede ser especialmente útil para mostrar etiquetas fáciles de usar en las interfaces de usuario.
Otra función útil de Humanizer es la capacidad de humanizar los tamaños de bytes, convirtiendo los valores de bytes grandes en formatos legibles como KB, MB o GB.
long bytes = 1048576;
string humanizedBytes = bytes.Bytes().Humanize(); // Output: "1 MB"
long bytes = 1048576;
string humanizedBytes = bytes.Bytes().Humanize(); // Output: "1 MB"
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.
Humanizer también puede manejar DateTimeOffset
, que es útil para aplicaciones que tratan con zonas horarias.
DateTimeOffset dateTimeOffset = DateTimeOffset.Now.AddDays(-2);
string humanizedDateTimeOffset = dateTimeOffset.Humanize(); // Output: "2 days ago"
DateTimeOffset dateTimeOffset = DateTimeOffset.Now.AddDays(-2);
string humanizedDateTimeOffset = dateTimeOffset.Humanize(); // Output: "2 days ago"
Humanizer está diseñado para ser eficiente, pero como cualquier biblioteca, su rendimiento depende de cómo se utilice. Para las aplicaciones que requieren un alto rendimiento, especialmente las que tratan con grandes conjuntos de datos o procesamiento en tiempo real, es esencial tener en cuenta el impacto de las frecuentes operaciones de humanización.
IronPDF es una completa biblioteca 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 la conversión de HTML a PDF, la fusión de documentos, la adición de marcas de agua, y mucho más. Su versatilidad y sus potentes funciones lo convierten en una excelente opción para manejar documentos PDF en proyectos de C#.
Siga estos pasos para instalar IronPDF utilizando el gestor de paquetes NuGet:
Abra su proyecto en Visual Studio:
Abra el gestor de paquetes NuGet:
Haga clic con el botón derecho en su proyecto en el Explorador de soluciones.
Instalar IronPDF:
En el Gestor de paquetes NuGet, vaya a la pestaña "Examinar".
Búsqueda de IronPDF.
Seleccione el paquete IronPDF en los resultados de la búsqueda.
Siguiendo estos pasos, IronPDF estará instalado y listo para usar en su proyecto C#, permitiéndole aprovechar sus potentes capacidades de manipulación de PDF.
using Humanizer;
using IronPdf;
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
List<string> content = GenerateHumanizedContent();
string htmlContent = "<h1>Humanizer Examples</h1><ul>";
// Iterate over each item in the List and add it to the HTML string
foreach (var item in content)
{
htmlContent += $"<li>{item}</li>";
}
htmlContent += "</ul>";
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Export to a file or stream
pdf.SaveAs("output.pdf");
}
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;
}
}
using Humanizer;
using IronPdf;
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
List<string> content = GenerateHumanizedContent();
string htmlContent = "<h1>Humanizer Examples</h1><ul>";
// Iterate over each item in the List and add it to the HTML string
foreach (var item in content)
{
htmlContent += $"<li>{item}</li>";
}
htmlContent += "</ul>";
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
// Export to a file or stream
pdf.SaveAs("output.pdf");
}
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 es una biblioteca indispensable para los desarrolladores .NET que deseen crear aplicaciones que presenten la información en un formato legible y fácil de usar. Su amplia gama de funciones, desde la humanización de la fecha y la hora hasta el formato de números y enumeraciones, lo convierten en una herramienta versátil para mejorar la usabilidad de las aplicaciones. Gracias a Humanizer, los desarrolladores pueden ahorrar tiempo y esfuerzo a la hora de aplicar una lógica de formato personalizada, lo que garantiza que sus aplicaciones comuniquen los datos de forma más eficaz a los usuarios finales.
Del mismo modo, IronPDF ofrece completas funciones de generación y manipulación de PDF, lo que lo convierte en una excelente opción para crear y manipular documentos PDF en proyectos C#. Juntos, Humanizer e IronPDF pueden mejorar considerablemente la funcionalidad y presentación de las aplicaciones .NET. Para obtener más información sobre las licencias de IronPDF, consulte el documentoInformación sobre licencias de IronPDF. Para saber más, consulte nuestroTutorial detallado sobre la conversión de HTML a PDF.