AYUDA .NET

WebGrease .NET Core (Cómo funciona para desarrolladores)

Actualizado agosto 13, 2024
Compartir:

Introducción

La integración de WebGrease con IronPDF y .NET Core ofrece un potente método para producir documentos PDF de excelente calidad y agilizar el rendimiento de las aplicaciones web. Con el uso de la compresión de JavaScript, la optimización de imágenes y la minificación de CSS, WebGrease es un paquete repleto de funciones que hace que los sitios web funcionen más rápido y sin problemas para los desarrolladores. Los desarrolladores pueden crear fácilmente PDF dinámicos a partir de varias fuentes, incluidas vistas HTML y MVC, cuando utilizan IronPDF, un potente conjunto de herramientas .NET para producir y manipular documentos PDF.

Las aplicaciones web se mantienen fluidas y adaptables con esta integración, que permite una gestión eficaz de los recursos y la generación dinámica de PDF. WebGrease e IronPDF son totalmente compatibles con .NET Core, lo que permite a los desarrolladores crear aplicaciones multiplataforma que funcionan a la perfección en LinuxmacOS y Windows. Esto se traduce en una experiencia de usuario mejorada gracias a un rendimiento optimizado y un manejo superior de los documentos.

¿Qué es WebGrease?

Creado originalmente como componente de la pila ASP .NET, WebGrease es una herramienta para automatizar procesos como la optimización de JavaScript, la compresión, la optimización de imágenes y la minificación CSS de archivos estáticos con el fin de mejorar el rendimiento de la web. Estas optimizaciones contribuyen a reducir el tamaño de los recursos web, lo que mejora el rendimiento de las aplicaciones web y acelera los tiempos de carga.

WebGrease .NET Core (Cómo funciona para los desarrolladores): Figura 1

En el contexto de .NET Core, cuando hablamos de WebGrease, nos referimos a la aplicación de estos métodos de optimización a las aplicaciones .NET Core. Microsoft creó el marco multiplataforma y de código abierto .NET Core para permitir a los desarrolladores crear aplicaciones punteras, escalables y de alto rendimiento. Los desarrolladores pueden aplicar técnicas de optimización del rendimiento de las aplicaciones ASP.NET tradicionales a sus proyectos .NET Core integrando WebGrease. De este modo, los desarrolladores pueden asegurarse de que sus aplicaciones web son eficientes y rinden en varias plataformas, como Windows, Linux y macOS.

Características de WebGrease

En el marco de .NET Core, WebGrease ofrece una serie de funciones destinadas a mejorar la eficacia y la velocidad de las aplicaciones web. Las características más destacadas son las siguientes:

Minificación CSS:

Elimina el formato, los comentarios y los espacios en blanco superfluos de los archivos CSS. Reduce las peticiones HTTP combinando numerosos archivos CSS en un único archivo. Mejora el rendimiento y acelera los tiempos de carga de CSS.

Compresión JavaScript:

Minimiza los archivos JavaScript eliminando los caracteres que no son necesarios. Crea un único archivo JavaScript a partir de varios archivos separados. Minimiza el tamaño de los archivos JavaScript para agilizar los tiempos de descarga y ejecución.

Optimización de imágenes:

Reduce el tamaño de los archivos comprimiendo las imágenes sin comprometer notablemente la calidad. Cuando proceda, convierte las fotos a formatos más eficientes. Aumenta la velocidad de carga mediante la optimización de los recursos de imagen.

**Minificación HTML

Reduce la cantidad de espacios en blanco y comentarios en los archivos HTML. Simplifica los archivos HTML para que los navegadores puedan analizarlos y procesarlos más rápidamente.

**Agrupación de recursos

Combina varios archivos JavaScript y CSS en un único archivo simplificado. Mejora los tiempos de carga al reducir la cantidad de peticiones HTTP necesarias para obtener el archivo de carga, obtener los archivos estáticos y cargar una página.

Flexibilidad de configuración:

Ofrece opciones para configurar el proceso de optimización. Ofrece a los desarrolladores la opción de elegir qué directorios y archivos optimizar o dejar fuera.

**Compatibilidad multiplataforma.

Totalmente compatible con .NET Core, lo que permite su uso en aplicaciones de Windows, Linux y macOS. Garantiza que las mejoras de rendimiento funcionen bien en diversos entornos.

Integración con los procesos de construcción:

Puede incorporarse a los procedimientos de compilación para optimizar automáticamente los recursos del sistema durante la implantación y el desarrollo. Apoya los procesos automatizados para garantizar una optimización coherente del sistema, en las distintas fases de desarrollo.

Rendimiento mejorado:

Minimiza la cantidad de recursos que deben cargarse, mejorando así el rendimiento de toda la aplicación web. Mejora la experiencia del usuario y acelera la carga de las páginas.

Crear y configurar WebGrease

Una aplicación .NET Core debe instalar los paquetes necesarios, configurar el proceso de compilación y configurar las tareas de optimización antes de poder utilizar WebGrease. Los siguientes pasos le ayudarán a establecer y configurar WebGrease en una aplicación .NET Core:

Crear un proyecto .NET Core

Cree primero una nueva aplicación web .NET Core. Para ello, puede utilizar la CLI de .NET.

dotnet new web -n WebGreaseApp
cd WebGreaseApp
dotnet new web -n WebGreaseApp
cd WebGreaseApp
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Añadir paquetes necesarios

Aunque no existe un paquete .NET Core directo para WebGrease, puede lograr una funcionalidad comparable con otros programas como BundlerMinifier. Incluya este paquete en su empresa.

dotnet add package BundlerMinifier.Core
dotnet add package BundlerMinifier.Core
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Configurar la agrupación y la minificación

Crea un archivo bundleconfig.json en la raíz del proyecto para proporcionar la configuración de agrupación y minificación de tus archivos CSS y JavaScript. Esta es una ilustración de una configuración.

[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "wwwroot/css/site.css"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true
    }
  }
]
[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "wwwroot/css/site.css"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true
    }
  }
]
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Integración con el proceso de creación

Añada al archivo del proyecto instrucciones para ejecutar las operaciones de agrupación y minificación durante el proceso de compilación (.csproj).

En su archivo .csproj, añada el siguiente elemento dentro del elemento:

<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
  <Exec Command="dotnet bundle" />
</Target>
<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
  <Exec Command="dotnet bundle" />
</Target>
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Instalar y ejecutar BundlerMinifier

Debe instalar la utilidad .NET para poder utilizar la herramienta BundlerMinifier, ya que la hemos incluido. Ejecute la siguiente línea de comandos:

dotnet tool install -g BundlerMinifier.Core
dotnet tool install -g BundlerMinifier.Core
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Para empaquetar y minificar sus archivos, ejecute:

dotnet bundle
dotnet bundle
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Optimizar imágenes

Puede utilizar ImageSharp u otras herramientas de optimización de imágenes compatibles con .NET Core para optimizar las imágenes.

Instalar ImageSharp

Instale el paquete SixLabors.ImageSharp:

dotnet add package SixLabors.ImageSharp
dotnet add package SixLabors.ImageSharp
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

He aquí un ejemplo de fragmento de código para la optimización de imágenes:

using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
using System.IO;
public void OptimizeImage(string inputPath, string outputPath)
{
    using (var image = Image.Load(inputPath))
    {
        image.Mutate(x => x.Resize(new ResizeOptions
        {
            Mode = ResizeMode.Max,
            Size = new Size(800, 600)
        }));
        image.Save(outputPath); // Automatic encoder selected based on file extension.
    }
}
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
using System.IO;
public void OptimizeImage(string inputPath, string outputPath)
{
    using (var image = Image.Load(inputPath))
    {
        image.Mutate(x => x.Resize(new ResizeOptions
        {
            Mode = ResizeMode.Max,
            Size = new Size(800, 600)
        }));
        image.Save(outputPath); // Automatic encoder selected based on file extension.
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Ejecute su aplicación una última vez para asegurarse de que la agrupación y la minificación funcionan según lo previsto.

Abra su aplicación en el navegador y compruebe que los archivos JavaScript y CSS están minificados.

Con las herramientas que funcionan con el entorno .NET actual, puede establecer y configurar una optimización similar a WebGrease para una aplicación .NET Core siguiendo estos pasos.

Primeros pasos con IronPDF

Tanto la configuración de la optimización del rendimiento de sus recursos web como el uso de IronPDF para la generación y manipulación de PDF son necesarios para integrar la optimización similar a WebGrease con IronPDF en una aplicación .NET Core. He aquí cómo empezar, paso a paso:

¿Qué es IronPDF?

La biblioteca .NET con más funciones IronPDF permite a los programas en C# producir, leer y editar documentos PDF. Con este programa, los desarrolladores pueden convertir fácilmente información HTML, CSS y JavaScript en PDF de alta calidad listos para imprimir. Entre las tareas más cruciales están añadir encabezados y pies de página, dividir y combinar PDF, añadir marcas de agua a los documentos y convertir HTML a PDF.

IronPDF es útil para diversas aplicaciones porque es compatible tanto con .NET Framework como con .NET Core. Como los PDF son fáciles de usar e incluyen un amplio contenido, los desarrolladores pueden incorporarlos fácilmente a sus productos. Dado que IronPDF puede manejar diseños y formatos de datos complejos, los PDF que genera como salida reflejan fielmente el texto HTML proporcionado originalmente por el cliente.

WebGrease .NET Core (Cómo funciona para los desarrolladores): Figura 2

Características de IronPDF

Generación de PDF a partir de HTML

Convierte JavaScript, HTML y CSS a PDF. Admite media queries y diseño responsivo, dos estándares web contemporáneos. Útil para decorar dinámicamente documentos PDF, informes y facturas mediante HTML y CSS

Edición de PDF

A los PDF preexistentes se les puede añadir texto, fotos y otros contenidos. Extraiga texto e imágenes de archivos PDF. Combinar numerosos PDF en un solo archivo. Divida archivos PDF en varios documentos independientes. Incluye marcas de agua, anotaciones, encabezados y pies de página.

Conversión de PDF

Convierte una amplia gama de formatos de archivo a PDF, incluidos Word, Excel y archivos de imagen. Permite convertir PDF en imágenes (PNG, JPEG, etc.).

**Rendimiento y fiabilidad

El alto rendimiento y la fiabilidad son cualidades de diseño deseadas en los entornos industriales. Gestiona grandes conjuntos de documentos con facilidad.

Instalar IronPDF

Para obtener las herramientas que necesita para trabajar con archivos PDF en proyectos .NET, instale el paquete IronPDF.

dotnet add package IronPdf
dotnet add package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf
VB   C#

Configurar la agrupación y la minificación

Crea un archivo de configuración bundleconfig.json en la raíz de tu proyecto para proporcionar los ajustes de agrupación y minificación para tus archivos CSS y JavaScript. Este archivo de configuración es una ilustración de una configuración:

[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "wwwroot/css/site.css"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true
    }
  }
]
[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "wwwroot/css/site.css"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true
    }
  }
]
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Conectar con el proceso de construcción

Asegúrese de que las instrucciones para ejecutar las operaciones de minificación y agrupación durante el proceso de compilación están incluidas en el archivo del proyecto (.csproj). En su archivo .csproj, añada el elemento que sigue dentro del elemento:

<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
  <Exec Command="dotnet bundle" />
</Target>
<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
  <Exec Command="dotnet bundle" />
</Target>
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Integrar IronPDF

Cree un controlador con IronPDF para producir archivos PDF. Crear un nuevo controlador PdfController.

using Microsoft.AspNetCore.Mvc;
using IronPdf;
namespace WebGreaseIronPdfApp.Controllers
{
    public class PdfController : Controller
    {
        public IActionResult GeneratePdf()
        {
            // Create a PDF from a simple HTML string
            var renderer = new ChromePdfRenderer();
            var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF!</h1><p>This is a generated PDF document.</p>");
            // Save the PDF to a byte array
            var pdfBytes = pdf.BinaryData;
            // Return the PDF file as a download
            return File(pdfBytes, "application/pdf", "example.pdf");
        }()
}
using Microsoft.AspNetCore.Mvc;
using IronPdf;
namespace WebGreaseIronPdfApp.Controllers
{
    public class PdfController : Controller
    {
        public IActionResult GeneratePdf()
        {
            // Create a PDF from a simple HTML string
            var renderer = new ChromePdfRenderer();
            var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF!</h1><p>This is a generated PDF document.</p>");
            // Save the PDF to a byte array
            var pdfBytes = pdf.BinaryData;
            // Return the PDF file as a download
            return File(pdfBytes, "application/pdf", "example.pdf");
        }()
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Lo primero que hacemos en el código de PdfController es importar los espacios de nombres necesarios, que son Microsoft.AspNetCore.Mvc para la funcionalidad ASP.NET Core MVC e IronPDF para .NET Generación de PDF. Dado que deriva de Controller, la clase PdfController es un controlador MVC. El método GeneratePdf de esta clase está definido para gestionar la creación de PDFs.

WebGrease .NET Core (Cómo funciona para los desarrolladores): Figura 3

Para convertir material HTML en un PDF, esta función crea una instancia de ChromePdfRenderer de IronPDF(). Una cadena HTML básica puede transformarse en un documento PDF mediante la función RenderHtmlAsPdf. A continuación, se utiliza el atributo BinaryData para guardar este PDF en una matriz de bytes. Por último, el archivo PDF se devuelve como respuesta descargable mediante el método File, junto con el nombre de archivo solicitado (ejemplo.pdf) y el tipo MIME correcto (aplicación/pdf). Gracias a esta integración, el programa ahora puede crear y servir dinámicamente documentos PDF basados en contenido HTML.

Ruta para generar PDF

Asegúrese de que la ruta de generación de PDF está incluida en su archivo Startup.cs.

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
        app.UseHsts();
    }
    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseRouting();
    app.UseAuthorization();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
        endpoints.MapControllerRoute(
            name: "pdf",
            pattern: "pdf",
            defaults: new { controller = "Pdf", action = "GeneratePdf" });
    });
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
        app.UseHsts();
    }
    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseRouting();
    app.UseAuthorization();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
        endpoints.MapControllerRoute(
            name: "pdf",
            pattern: "pdf",
            defaults: new { controller = "Pdf", action = "GeneratePdf" });
    });
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Ejecutar y verificar

Ejecute su aplicación para asegurarse de que puede crear archivos PDF y de que la agrupación y la minificación funcionan correctamente.

dotnet run
dotnet run
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet run
VB   C#

Abra el navegador y navegue hasta su aplicación. Debería ser posible crear un archivo único y descargar un documento PDF accediendo a //pdf.

Conclusión

IronPDF y la optimización similar a WebGrease combinados proporcionan un potente combo para mejorar el rendimiento en línea y producir documentos PDF de alta calidad en aplicaciones .NET Core. Los desarrolladores pueden asegurarse de que sus aplicaciones sean eficaces y flexibles utilizando herramientas como IronPDF para crear PDF y BundlerMinifier para optimizar recursos. Además de la compresión de imágenes, las estrategias de optimización de recursos como la minificación de CSS y JavaScript también ayudan a acelerar la carga de las páginas y mejorar la experiencia del usuario. Al mismo tiempo, IronPDF cuenta con potentes funciones para crear PDF dinámicamente a partir de texto HTML, lo que simplifica el proceso de creación de documentos debidamente preparados, como facturas, informes, etc.

Esta integración proporciona una solución completa para las necesidades de desarrollo web contemporáneas dentro del marco .NET Core, no sólo mejorando el rendimiento de las aplicaciones en línea, sino también añadiendo funciones útiles para el procesamiento de PDF.

Con IronPDF y IronSoftwarenET, puede aumentar su conjunto de herramientas para el desarrollo .NET haciendo uso de OCR, escaneado de códigos de barras, creación de PDF, conectividad Excel y mucho más. Por un precio inicial de 749 dólares, IronPDF ofrece a los desarrolladores acceso a más aplicaciones y funciones web, así como un desarrollo más eficaz. Para ello, combina sus conceptos básicos con la flexible caja de herramientas de Iron Software.

A los promotores les resultará fácil seleccionar el modelo óptimo si las alternativas de licencia del proyecto están bien definidas. Las ventajas antes mencionadas contribuyen a que los desarrolladores ejecuten soluciones rápidas, bien organizadas y eficaces para toda una serie de problemas.

< ANTERIOR
DuckDB C# (Cómo funciona para desarrolladores)
SIGUIENTE >
Azure.Messaging.ServiceBus Ejemplo C# (Cómo Funciona)

¿Listo para empezar? Versión: 2024.9 acaba de salir

Descarga gratuita de NuGet Descargas totales: 10,516,730 View Licenses >