Los archivos HTML se utilizan con frecuencia en Internet. En determinados casos, es posible que necesitemos convertir páginas HTML en imágenes. En este artículo, aprenderemos cómo convertir HTML a imagen en C#. Aprenderemos a renderizar la página web HTML en JPG, PNG, BMP, GIF y otros formatos de imagen populares.

Este artículo cubre los siguientes temas:

API de C# para convertir HTML a imagen

Usaremos Aspose.HTML for .NET para convertir archivos HTML a imágenes en C#. Permite a los desarrolladores trabajar con documentos HTML en sus aplicaciones .NET. Proporciona una amplia gama de funciones y capacidades para analizar, convertir, editar y representar documentos HTML.

Por favor descargue la DLL de la API o instálela usando NuGet.

PM> Install-Package Aspose.Html

Conversión de HTML a imagen: archivo de entrada

En primer lugar, revisemos el archivo HTML básico, que contiene texto e imágenes, que usaremos como archivo de entrada en estos ejemplos.

<!DOCTYPE html>
<html>
<head>
<style>
body {
  text-align: center;
  color: black;
}
</style>
</head>
<body>
<h2>Welcome to HTML to Image C# Test Conversion</h2>
<p></p>
<img src="HTML to Image.png" alt="HTML to Image" style="width:300px">
</body>
</html>

Convertir imagen HTML a JPG en C#

Podemos convertir cualquier página web HTML a una imagen JPG siguiendo los pasos a continuación:

  1. Inicialice las opciones de representación de imágenes utilizando la clase ImageSaveOptions.
  2. Establezca el tamaño de la página o el color de fondo.
  3. Después de eso, especifique ImageFormat como JPG.
  4. Finalmente, llame al método ConvertHTML() para convertir HTML a JPG.

El siguiente ejemplo de código muestra cómo convertir HTML a una imagen JPG en C#.

        // Configure el tamaño de página de 7x7 pulgadas y cambie el color de fondo a gris claro
        var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg)
        {
            PageSetup =
{
    AnyPage = new Aspose.Html.Drawing.Page()
    {
        Size = new Aspose.Html.Drawing.Size(Aspose.Html.Drawing.Length.FromInches(7), Aspose.Html.Drawing.Length.FromInches(7))
    }
},
            BackgroundColor = System.Drawing.Color.LightGray,
        };
        // Llame a ConvertHTML para convertir 'document.html' en una imagen jpeg
        Aspose.Html.Converters.Converter.ConvertHTML(dataDir + "HTMLtoImage.html", options, dataDir + "HTMLtoJPG.jpg");

Además, echemos un vistazo a la imagen JPG de salida generada:

Imagen HTML a JPG C#

Además, puede observar el color de fondo y el tamaño de la imagen en las propiedades. Las resoluciones son de 300 ppp, por lo que el ancho y el largo de la imagen son 2100 porque tiene 7 pulgadas de largo y ancho.

Convertir HTML a imagen PNG en C#

Los archivos de imagen PNG son archivos más avanzados que las imágenes JPG. Por ejemplo, pueden tener fondos transparentes, a diferencia de las imágenes JPG. Por lo tanto, a veces es mejor convertir HTML a una imagen PNG porque es un formato de archivo popular y compatible.

Podemos convertir HTML a PNG siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos especificar ImageFormat.Png en el paso 3.

El siguiente fragmento de código muestra cómo convertir un archivo HTML a una imagen PNG en C#:

// Inicializar un documento HTML desde el archivo html
using (var document = new Aspose.Html.HTMLDocument(dataDir + "document.html"))
{
// Inicializar ImageSaveOptions 
var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Png);

// Convertir HTML a PNG
Aspose.Html.Converters.Converter.ConvertHTML(document, options, dataDir + "output.png");
}

Convertidor de imágenes C# HTML a BMP

De manera similar, podemos convertir HTML a BMP siguiendo los pasos mencionados anteriormente. Sin embargo, sólo necesitamos especificar ImageFormat.Bmp en el paso 3.

El siguiente ejemplo de código muestra cómo convertir HTML a una imagen BMP en C#:

// Inicializar un documento HTML desde el archivo html
using (var document = new Aspose.Html.HTMLDocument(dataDir + "document.html"))
{
    // Inicializar ImageSaveOptions 
    var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp);

    // Convertir HTML a BMP
    Aspose.Html.Converters.Converter.ConvertHTML(document, options, dataDir + "output.bmp");
}

Convertir HTML a imagen GIF en C#

También podemos convertir HTML a GIF siguiendo los pasos mencionados anteriormente. Sin embargo, sólo necesitamos especificar ImageFormat.Gif en el paso 3.

El siguiente código muestra cómo convertir imágenes HTML a GIF en C#.

// Inicializar un documento HTML desde el archivo html
using (var document = new Aspose.Html.HTMLDocument(dataDir + "document.html"))
{
    // Inicializar ImageSaveOptions 
    var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif);

    // Convertir HTML a GIF
    Aspose.Html.Converters.Converter.ConvertHTML(document, options, dataDir + "output.gif");
}

Obtenga una licencia gratuita

Obtenga una licencia temporal gratuita para probar la biblioteca sin limitaciones de evaluación.

HTML a imagen - Recursos de aprendizaje

Además de convertir páginas web HTML en imágenes, explore otras funciones de la biblioteca utilizando los recursos siguientes:

Conclusión

En resumen, hemos aprendido cómo convertir HTML a JPG, PNG, BMP y GIF en C# dentro de aplicaciones .NET. La conversión de HTML a estos formatos de imagen es una de las características más importantes de Aspose.HTML for .NET API. Además, los resultados de la conversión o renderizado tienen la mayor fidelidad y eficiencia. Es por eso que la API es la mejor opción para convertir, editar o manipular archivos HTML. Además, esperamos tener noticias suyas. No dude en contactarnos a través del Foro de soporte gratuito en caso de necesitar ayuda.

Ver también

Información: El conversor Aspose Texto a GIF te permite crear animaciones divertidas con solo escribir.