AYUDA .NET

HTML Prettifier (Cómo funciona para desarrolladores)

Chipego
Chipego Kalinda
3 de abril, 2025
Compartir:

Introducción

Cuando se trabaja con la conversión de HTML a PDF en .NET, un HTML limpio y bien estructurado puede marcar una diferencia significativa en la calidad del PDF final. El formateo adecuado del HTML en bruto garantiza la legibilidad, el renderizado correcto y la coherencia. Aquí es donde entra en juego un formateador de HTML o un embellecedor de HTML.

En este artículo, exploraremos cómo usar un embellecedor de HTML en .NET antes de convertir HTML a PDF usando IronPDF. Hablaremos de los beneficios de la embellecimiento, presentaremos bibliotecas que pueden ayudar y proporcionaremos un ejemplo práctico de código.

¿Qué es un embellecedor de HTML?

Un embellecedor de HTML es una herramienta que reformatea el código HTML en bruto o minimizado en un formato legible y bien estructurado. Este proceso involucra:

  • Indentación adecuada de elementos anidados
  • Cerrando etiquetas no cerradas
  • Formateo de atributos de manera consistente
  • Eliminación de espacios en blanco innecesarios

    El uso de un embellecedor de HTML antes de convertir a PDF asegura que el contenido permanezca estructurado y visualmente coherente, reduciendo los problemas de renderizado en el PDF generado.

IronPDF: Una potente solución PDF

HTML Prettifier (Cómo funciona para desarrolladores): Figura 1

Añadir desde PixabaySubir

o arrastre y suelte una imagen aquí

Agregar texto alternativo de la imagen

IronPDF es una biblioteca .NET completa y rica en características, diseñada para una conversión HTML a PDF sin problemas. Permite a los desarrolladores convertir HTML, URLs, o incluso cadenas de HTML en PDFs de alta calidad con un esfuerzo mínimo. A diferencia de muchas otras bibliotecas de PDF, IronPDF admite completamente los estándares web modernos, incluyendo HTML5, CSS3 y JavaScript, asegurando que los PDF generados conserven su diseño y disposición previstos. Esto lo convierte en una opción ideal para proyectos que requieren una salida PDF precisa a partir de estructuras HTML complejas.

Algunas de las características clave de IronPDF incluyen:

Embellecimiento de HTML en .NET

Existen varias bibliotecas disponibles en .NET para embellecer el código HTML sin formato o mal estructurado, incluyendo:

HtmlAgilityPack

  • Una biblioteca popular para analizar y modificar código HTML en C#.
  • Se puede utilizar para dar formato y limpiar el código HTML antes de procesarlo.

2. AngleSharp

  • Un analizador de HTML moderno para .NET que ofrece capacidades detalladas de manipulación de documentos.
  • Puede dar formato al HTML de una manera que lo haga más legible.

3. HTML Beautifier (BeautifyTools)

  • Da formato e indenta HTML desordenado para mejorar su legibilidad.
  • Herramienta en línea que funciona directamente en el navegador, sin necesidad de instalación.

Usando HtmlAgilityPack para dar formato al código HTML

HTML Prettifier (Cómo Funciona para Desarrolladores): Figura 2

Añadir desde PixabaySubir

o arrastre y suelte una imagen aquí

Agregar texto alternativo de la imagen

HtmlAgilityPack es una biblioteca popular de .NET que proporciona una forma rápida y eficiente de analizar y manipular documentos HTML. Puede manejar HTML malformado o mal estructurado, lo que lo convierte en una excelente opción para la extracción de datos y web scraping. Aunque no está diseñado explícitamente como un "prettifier", se puede utilizar para limpiar y dar formato al código HTML al analizarlo y guardarlo con la indentación adecuada.

A continuación se muestra cómo puedes usar HtmlAgilityPack para embellecer HTML antes de pasarlo a IronPDF:

using IronPdf;
using HtmlAgilityPack;
using System.IO;
class Program
{
    static void Main()
    {
     string htmlContent = "<html><body><h1>Hello World!</h1><p>This is a test.</p></body></html>";
        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(htmlContent);
        // Prettify the HTML by saving it with indentation
        string prettyHtml = doc.DocumentNode.OuterHtml;
        // Saves the formatted HTML with the prettified indenting
        doc.Save("pretty.html");
    }
}
using IronPdf;
using HtmlAgilityPack;
using System.IO;
class Program
{
    static void Main()
    {
     string htmlContent = "<html><body><h1>Hello World!</h1><p>This is a test.</p></body></html>";
        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(htmlContent);
        // Prettify the HTML by saving it with indentation
        string prettyHtml = doc.DocumentNode.OuterHtml;
        // Saves the formatted HTML with the prettified indenting
        doc.Save("pretty.html");
    }
}
Imports IronPdf
Imports HtmlAgilityPack
Imports System.IO
Friend Class Program
	Shared Sub Main()
	 Dim htmlContent As String = "<html><body><h1>Hello World!</h1><p>This is a test.</p></body></html>"
		Dim doc As New HtmlDocument()
		doc.LoadHtml(htmlContent)
		' Prettify the HTML by saving it with indentation
		Dim prettyHtml As String = doc.DocumentNode.OuterHtml
		' Saves the formatted HTML with the prettified indenting
		doc.Save("pretty.html")
	End Sub
End Class
$vbLabelText   $csharpLabel

Archivo HTML de salida

HTML Prettifier (Cómo funciona para desarrolladores): Figura 3

Añadir desde PixabaySubir

o arrastre y suelte una imagen aquí

Agregar texto alternativo de la imagen

Usar AngleSharp como embellecedor HTML

HTML Prettifier (Cómo funciona para desarrolladores): Figura 4

Añadir desde PixabaySubir

o arrastre y suelte una imagen aquí

Agregar texto alternativo de la imagen

AngleSharp es una biblioteca .NET diseñada para analizar y manipular documentos HTML, XML y SVG. Ofrece un enfoque moderno y flexible para la manipulación y formateo del DOM. La clase HtmlFormatter de AngleSharp se puede utilizar para formatear contenido HTML, proporcionando una salida agradable y legible.

using AngleSharp.Html.Parser;
using AngleSharp.Dom;
using System;
class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World!</h1><p>This is a test.</p></body></html>";
        var parser = new HtmlParser();
        var document = parser.ParseDocument(htmlContent);
        // Format the HTML using AngleSharp’s HtmlFormatter
        var prettyHtml = document.ToHtml();
    }
}
using AngleSharp.Html.Parser;
using AngleSharp.Dom;
using System;
class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World!</h1><p>This is a test.</p></body></html>";
        var parser = new HtmlParser();
        var document = parser.ParseDocument(htmlContent);
        // Format the HTML using AngleSharp’s HtmlFormatter
        var prettyHtml = document.ToHtml();
    }
}
Imports AngleSharp.Html.Parser
Imports AngleSharp.Dom
Imports System
Friend Class Program
	Shared Sub Main()
		Dim htmlContent As String = "<html><body><h1>Hello World!</h1><p>This is a test.</p></body></html>"
		Dim parser = New HtmlParser()
		Dim document = parser.ParseDocument(htmlContent)
		' Format the HTML using AngleSharp's HtmlFormatter
		Dim prettyHtml = document.ToHtml()
	End Sub
End Class
$vbLabelText   $csharpLabel

Salida HTML

HTML Prettifier (Cómo Funciona para Desarrolladores): Figura 5

Añadir desde PixabaySubir

o arrastre y suelte una imagen aquí

Agregar texto alternativo de la imagen

Formateador de HTML en línea (BeautifyTools)

Prettificador de HTML (Cómo Funciona para Desarrolladores): Figura 6

Añadir desde PixabaySubir

o arrastre y suelte una imagen aquí

Agregar texto alternativo de la imagen

BeautifyTools.com proporciona un formateador de HTML en línea fácil de usar que te permite formatear y embellecer código HTML desordenado. Esto es útil si deseas una forma rápida y gratuita de limpiar tu HTML sin instalar bibliotecas ni escribir código.

Cómo usar el embellecedor de HTML en línea

  1. Ir al sitio web

    Abra BeautifyTools.com Beautificador de HTML en su navegador web.

  2. Pega tu HTML

    Copia tu HTML sin procesar o minimizado y pégalo en el cuadro de entrada.

  3. Ajustar la configuración (opcional)

    • Elija el nivel de indentación (Espacios: 2, 4, etc.).
    • Habilitar/deshabilitar los saltos de línea y las opciones de formato.
  4. Haz clic en "Embellecer HTML"

    La herramienta procesará su HTML y mostrará el resultado embellecido en el cuadro de salida.

  5. Copiar el HTML formateado

    Haga clic en "Copiar al portapapeles" o copie manualmente el HTML formateado para usar en su proyecto.

    HTML Prettifier (Cómo funciona para desarrolladores): Figura 7

    Añadir desde PixabaySubir

    o arrastre y suelte una imagen aquí

    Agregar texto alternativo de la imagen

Pros y contras de usar un embellecedor en línea

HTML Prettifier (Cómo funciona para desarrolladores): Figura 8

Añadir desde PixabaySubir

o arrastre y suelte una imagen aquí

Agregar texto alternativo de la imagen

Ventajas y desventajas de usar un embellecedor de HTML basado en código

Prettificador de HTML (Cómo funciona para desarrolladores): Figura 9

Añadir desde PixabaySubir

o arrastre y suelte una imagen aquí

Agregar texto alternativo de la imagen

Convertir HTML embellecido a PDF con IronPDF

Una vez que hayamos embellecido nuestro HTML, podemos usar IronPDF para convertirlo en un PDF de alta calidad. Aquí tienes un ejemplo simple usando AngleSharp:

using AngleSharp.Html.Parser;
using AngleSharp.Dom;
using AngleSharp.Html;
class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World!</h1><p>This was formatted using AngleSharp.</p><p>Then it was converted using IronPDF.</p></body></html>";
        var parser = new HtmlParser();
        var document = parser.ParseDocument(htmlContent);
        // Format the HTML using AngleSharp’s HtmlFormatter
        using (var writer = new StringWriter())
        {
            document.ToHtml(writer, new PrettyMarkupFormatter());
            var prettyHtml = writer.ToString();
            document.Close();
            // Save the formatted HTML to a file
            string outputPath = "formatted.html";
            File.WriteAllText(outputPath, prettyHtml);
            Console.WriteLine(prettyHtml);
        }
        // Convert the formatted HTML to PDF using IronPdf
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("formatted.html");
        pdf.SaveAs("output.pdf");
    }
}
using AngleSharp.Html.Parser;
using AngleSharp.Dom;
using AngleSharp.Html;
class Program
{
    static void Main()
    {
        string htmlContent = "<html><body><h1>Hello World!</h1><p>This was formatted using AngleSharp.</p><p>Then it was converted using IronPDF.</p></body></html>";
        var parser = new HtmlParser();
        var document = parser.ParseDocument(htmlContent);
        // Format the HTML using AngleSharp’s HtmlFormatter
        using (var writer = new StringWriter())
        {
            document.ToHtml(writer, new PrettyMarkupFormatter());
            var prettyHtml = writer.ToString();
            document.Close();
            // Save the formatted HTML to a file
            string outputPath = "formatted.html";
            File.WriteAllText(outputPath, prettyHtml);
            Console.WriteLine(prettyHtml);
        }
        // Convert the formatted HTML to PDF using IronPdf
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("formatted.html");
        pdf.SaveAs("output.pdf");
    }
}
Imports AngleSharp.Html.Parser
Imports AngleSharp.Dom
Imports AngleSharp.Html
Friend Class Program
	Shared Sub Main()
		Dim htmlContent As String = "<html><body><h1>Hello World!</h1><p>This was formatted using AngleSharp.</p><p>Then it was converted using IronPDF.</p></body></html>"
		Dim parser = New HtmlParser()
		Dim document = parser.ParseDocument(htmlContent)
		' Format the HTML using AngleSharp's HtmlFormatter
		Using writer = New StringWriter()
			document.ToHtml(writer, New PrettyMarkupFormatter())
			Dim prettyHtml = writer.ToString()
			document.Close()
			' Save the formatted HTML to a file
			Dim outputPath As String = "formatted.html"
			File.WriteAllText(outputPath, prettyHtml)
			Console.WriteLine(prettyHtml)
		End Using
		' Convert the formatted HTML to PDF using IronPdf
		Dim renderer As New ChromePdfRenderer()
		Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("formatted.html")
		pdf.SaveAs("output.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Explicación

El código anterior demuestra cómo embellecer HTML usando AngleSharp y luego convertirlo a PDF usando IronPDF. Así es como funciona:

  1. Definir el contenido HTML sin procesar:

    El programa comienza con una cadena HTML simple que contiene un encabezado

    y dos párrafos.

  2. Analizar el HTML con AngleSharp:

    Inicializa una instancia de HtmlParser y analiza el HTML sin procesar en un objeto estructurado IDocument.

  3. Formatear el HTML usando PrettyMarkupFormatter:

    • La clase PrettyMarkupFormatter se utiliza para dar formato e indentar correctamente el HTML.

    • Un StringWriter se utiliza para capturar el HTML formateado como una cadena.
    • Después de formatear, el HTML formateado se guarda en un archivo llamado "formatted.html".
  4. Convierte el HTML Formateado a PDF usando IronPDF:

    • Se crea una instancia de ChromePdfRenderer para manejar la conversión.

    • El archivo HTML formateado se carga y se convierte en un PdfDocument.
    • El PDF resultante se guarda como "output.pdf".
  5. Salida Final:

    • El HTML embellecido se muestra en la consola.

    • El programa produce dos archivos de salida:

      • formatted.html (una versión bien estructurada del HTML)
      • output.pdf (el documento PDF final generado a partir del HTML formateado).

    Este enfoque garantiza que el HTML esté ordenadamente estructurado antes de convertirlo a PDF, lo que mejora la legibilidad y evita problemas potenciales de renderizado en la salida PDF.

    Salida de Consola

    HTML Prettifier (Cómo funciona para desarrolladores): Figura 10

    Añadir desde PixabaySubir

    o arrastre y suelte una imagen aquí

    Agregar texto alternativo de la imagen

    Salida PDF

    HTML Prettifier (Cómo funciona para desarrolladores): Figura 11

    Añadir desde PixabaySubir

    o arrastre y suelte una imagen aquí

    Agregar texto alternativo de la imagen

¿Por qué usar un embellecedor con IronPDF?

Mejor legibilidad y depuración

El HTML formateado es más fácil de leer, depurar y mantener. Esto es especialmente útil cuando se trabaja con contenido dinámico o plantillas HTML grandes.

2. Mejora de la coherencia del estilo

El HTML embellecido mantiene un espaciado y estructura consistentes, lo que lleva a un renderizado más predecible en IronPDF.

3. Problemas de Renderizado Reducidos

El HTML minimizado o no estructurado puede a veces causar problemas inesperados en la generación de PDF. La mejora de la apariencia ayuda a prevenir elementos faltantes o diseños rotos.

4. Simplifica los flujos de trabajo automatizados

Si su aplicación genera PDFs programáticamente, asegurarse de que el HTML esté limpio y bien formado antes de la conversión mejora la estabilidad y precisión.

Conclusión

Usar un embellecedor HTML con IronPDF en .NET es una forma simple pero efectiva de mejorar la conversión de PDF. Al estructurar tu HTML correctamente, aseguras una mejor representación, mejor mantenimiento y menos dolores de cabeza al depurar.

Con bibliotecas como HtmlAgilityPack, AngleSharp y HTML Beautifier, embellecer HTML antes de la generación de PDF se convierte en una tarea sin esfuerzo. Si trabajas frecuentemente con conversiones de HTML a PDF, considera integrar un embellecedor de HTML en tu flujo de trabajo para obtener resultados óptimos.

Pruébalo hoy y descubre cómo mejora tu experiencia con IronPDF. Descargue la prueba gratuita y comience a explorar todo lo que IronPDF tiene para ofrecer en sus propios proyectos.

Chipego
Ingeniero de software
Chipego tiene una habilidad natural para escuchar que le ayuda a comprender los problemas de los clientes y a ofrecer soluciones inteligentes. Se unió al equipo de Iron Software en 2023, después de estudiar una licenciatura en Tecnología de la Información. IronPDF e IronOCR son los dos productos en los que Chipego se ha centrado, pero su conocimiento de todos los productos crece día a día, a medida que encuentra nuevas formas de ayudar a los clientes. Disfruta de lo colaborativa que es la vida en Iron Software, con miembros del equipo de toda la empresa que aportan su variada experiencia para contribuir a soluciones eficaces e innovadoras. Cuando Chipego está lejos de su escritorio, a menudo se le puede encontrar disfrutando de un buen libro o jugando al fútbol.
< ANTERIOR
Métodos de cadena en C# (Cómo funcionan para los desarrolladores)
SIGUIENTE >
C# Convertir Cadena a Bubble (Cómo Funciona para Desarrolladores)