AYUDA .NET

C# Select Case (Cómo funciona para desarrolladores)

Publicado en 15 de diciembre, 2024
Compartir:

En las aplicaciones modernas de .NET, generar PDFs dinámicamente es un requisito común. Ya sea que estés creando informes, facturas u otros documentos, tener una forma simplificada de generar condicionalmente diferentes formatos de PDF es esencial. Ensentencia switch (también conocido como Select Case en algunos lenguajes)en C# es una herramienta poderosa para implementar tal lógica de manera eficiente. El switch case tomará algún tipo de dato.(char, int, string, etc.), y compáralo con los valores de los casos para ver si alguno coincide. Si lo hacen, se ejecutará el código dentro de ese bloque caso; de lo contrario, se ejecutará el caso por defecto si los otros patrones de caso no coinciden.

IronPDFes una robusta biblioteca de generación y manipulación de PDF para desarrolladores .NET, que le permite convertir HTML, imágenes y diversos otros contenidos en PDFs. Al aprovechar la declaración switch de C# puedes personalizar tus archivos PDF según diferentes condiciones, como la entrada del usuario o el estado de los datos.

Este artículo te guiará sobre cómo usar la declaración Switch case en C# con IronPDF para crear contenido PDF dinámico y condicional con un buen nivel de control de flujo dentro del programa, lo cual en última instancia aumentará la eficiencia y legibilidad de tus programas.

¿Qué es Select Case (Interruptor) en C#?

Descripción general de C# Select Case

En C#, la declaración switch(no confundirse con la expresión switch)proporciona una manera limpia y estructurada de manejar la lógica condicional basada en el valor de una variable. En lugar de usar múltiples declaraciones, como declaraciones if-else, las declaraciones switch case permiten un código más fácil de leer y mantener. La instrucción switch buscará una coincidencia de patrón para la expresión de coincidencia pasada a la instrucción, antes de ejecutar el código dentro del caso por defecto si no se encuentra ninguna coincidencia.

Aquí está la estructura básica de una declaración switch en C#:

switch (variable)
{
    case value1:
        // action for value1
        break;
    case value2:
        // action for value2
        break;
    default:
        // default action if no case matches
        break;
}
switch (variable)
{
    case value1:
        // action for value1
        break;
    case value2:
        // action for value2
        break;
    default:
        // default action if no case matches
        break;
}
Select Case variable
	Case value1
		' action for value1
	Case value2
		' action for value2
	Case Else
		' default action if no case matches
End Select
VB   C#

Cada caso representa un posible valor para la variable, y cuando se encuentra una coincidencia, se ejecuta el código dentro de ese bloque. Esto es particularmente útil cuando tienes múltiples resultados basados en una única variable, como determinar qué tipo de documento generar en un PDF.

Integración de Select Case con IronPDF para Generación Dinámica de PDF

Uso de Select Case para la Personalización de Contenido PDF

Imagina que estás desarrollando un sistema donde se necesiten generar diferentes tipos de documentos dependiendo de la entrada del usuario. Por ejemplo, es posible que necesites crear un informe para un usuario y una factura para otro. Con la declaración switch de C#, puedes determinar fácilmente qué tipo de PDF generar usando IronPDF.

Aquí tienes un ejemplo de escenario: Basado en la selección de un usuario, puedes usar una declaración switch para decidir qué contenido HTML renderizar en un documento PDF, comparando la elección del usuario con el mismo tipo de valor de caso.

switch (userChoice)
{
    case "report":
        // Code to generate a report PDF using IronPDF
        break;
    case "invoice":
        // Code to generate an invoice PDF using IronPDF
        break;
    default:
        // Code to generate a default PDF document using IronPDF
        break;
}
switch (userChoice)
{
    case "report":
        // Code to generate a report PDF using IronPDF
        break;
    case "invoice":
        // Code to generate an invoice PDF using IronPDF
        break;
    default:
        // Code to generate a default PDF document using IronPDF
        break;
}
Select Case userChoice
	Case "report"
		' Code to generate a report PDF using IronPDF
	Case "invoice"
		' Code to generate an invoice PDF using IronPDF
	Case Else
		' Code to generate a default PDF document using IronPDF
End Select
VB   C#

En este ejemplo, el sistema puede generar múltiples tipos de documentos reutilizando las potentes capacidades de renderizado PDF de IronPDF, mientras simplifica la toma de decisiones utilizando la instrucción switch.

Implementación paso a paso

Vamos a ver cómo integrar el switch de C# con IronPDF para generar PDFs. Para este ejemplo, gestionaremos dos tipos de documentos: Informes y Facturas.

  1. Instalar IronPDF: Primero necesitarás instalar IronPDF para comenzar a usarlo en tus proyectos.

    1. Configurar contenido HTML para diferentes tipos de documentos:

    Cree plantillas HTML para su informe y factura. Esto permite a IronPDF renderizar estas plantillas en un PDF.

    1. Usa la declaración switch para selección dinámica:

    Basado en la entrada del usuario(o cualquier otra variable), utiliza la declaración switch para determinar qué plantilla HTML usar y pásala a IronPDF para la generación del PDF.

Instalación de IronPDF

Para empezar a utilizarIronPDF, primero necesitarás instalarlo. Si ya está instalado, puede pasar a la siguiente sección, de lo contrario, los siguientes pasos cubren cómo instalar la biblioteca IronPDF.

A través de la consola del Administrador de paquetes NuGet

Ainstalar IronPDFusando la Consola del Administrador de Paquetes de NuGet, abre Visual Studio y navega a la Consola del Administrador de Paquetes. Luego ejecute el siguiente comando:

Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
VB   C#

A través del Administrador de paquetes NuGet para la solución

Abriendo Visual Studio, vaya a "herramientas -> Administrador de paquetes NuGet -> Administrar paquetes NuGet para la solución" y busque IronPDF. Desde aquí, todo lo que necesitas hacer es seleccionar tu proyecto y hacer clic en "Instalar", y IronPDF se añadirá a tu proyecto.

Selección de caso en C#(Cómo funciona para desarrolladores): Figura 1

Una vez que hayas instalado IronPDF, todo lo que necesitas agregar para comenzar a usar IronPDF es la declaración using correcta en la parte superior de tu código:

using IronPdf;
using IronPdf;
Imports IronPdf
VB   C#

Ejemplo: Generación de PDFs con Estilos Diferentes Usando IronPDF

Estudio de caso: Generación de informes vs. facturas

Echemos un vistazo más de cerca a un caso de uso del mundo real. Supongamos que estás desarrollando un sistema para una empresa que necesita generar tanto informes como facturas para sus clientes. Dependiendo de lo que seleccione el usuario, puede renderizar contenido diferente en un PDF.

  1. Generación de informes:

    Cuando el usuario selecciona "Report", el sistema genera un PDF con contenido específico del informe. Usando plantillas HTML, puedes personalizar fácilmente la estructura del contenido.

case "Report":
        string reportHtml = "<h1>Monthly Report</h1><p>This report provides a detailed overview of activities.</p>";
        PdfDocument reportPdf = pdfRenderer.RenderHtmlAsPdf(reportHtml);
        reportPdf.SaveAs("Monthly_Report.pdf");
        break;
case "Report":
        string reportHtml = "<h1>Monthly Report</h1><p>This report provides a detailed overview of activities.</p>";
        PdfDocument reportPdf = pdfRenderer.RenderHtmlAsPdf(reportHtml);
        reportPdf.SaveAs("Monthly_Report.pdf");
        break;
Case "Report"
		Dim reportHtml As String = "<h1>Monthly Report</h1><p>This report provides a detailed overview of activities.</p>"
		Dim reportPdf As PdfDocument = pdfRenderer.RenderHtmlAsPdf(reportHtml)
		reportPdf.SaveAs("Monthly_Report.pdf")
		break
VB   C#
  1. Generación de Facturas:

    Para las facturas, puedes incluir información de facturación y listas detalladas dentro del HTML, que IronPDF convertirá en un PDF de alta calidad.

case "Invoice":
        string invoiceHtml = "<h1>Invoice #12345</h1><p>Billing details and itemized list here.</p>";
        PdfDocument invoicePdf = pdfRenderer.RenderHtmlAsPdf(invoiceHtml);
        invoicePdf.SaveAs("Invoice_12345.pdf");
        break;
case "Invoice":
        string invoiceHtml = "<h1>Invoice #12345</h1><p>Billing details and itemized list here.</p>";
        PdfDocument invoicePdf = pdfRenderer.RenderHtmlAsPdf(invoiceHtml);
        invoicePdf.SaveAs("Invoice_12345.pdf");
        break;
Case "Invoice"
		Dim invoiceHtml As String = "<h1>Invoice #12345</h1><p>Billing details and itemized list here.</p>"
		Dim invoicePdf As PdfDocument = pdfRenderer.RenderHtmlAsPdf(invoiceHtml)
		invoicePdf.SaveAs("Invoice_12345.pdf")
		break
VB   C#

Este enfoque garantiza que mantengas flexibilidad y reutilización en tu base de código, ya que puedes extender fácilmente la declaración switch para manejar tipos de documentos adicionales.

Ejemplo de código: Creación de informes y facturas utilizando IronPDF y declaraciones Switch

En el siguiente ejemplo de código, tomaremos la entrada del usuario para pasarla a la instrucción Switch y determinar qué PDF se generará.

using IronPdf;
using System;
public class Program
{
    public static void Main(string[] args)
    {
        Console.WriteLine("What do you want to create?");
        Console.WriteLine("a. Report");
        Console.WriteLine("b. Invoice");
        var input = Console.ReadLine();
        string docType;
        if (input == "a")
        {
            GeneratePdf("Report");
        }
        else if (input == "b")
        {
            GeneratePdf("Invoice");
        }
        else
        {
            GeneratePdf(null);
        }
    }
    public static void GeneratePdf(string docType)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        switch (docType)
        {
            case "Report":
                string reportHtml = "<h1>Report</h1><p>This is a dynamically generated report.</p>";
                PdfDocument reportPdf = renderer.RenderHtmlAsPdf(reportHtml);
                reportPdf.SaveAs("Report.pdf");
                break;
            case "Invoice":
                string invoiceHtml = "<h1>Invoice</h1><p>This is a dynamically generated invoice.</p>";
                PdfDocument invoicePdf = renderer.RenderHtmlAsPdf(invoiceHtml);
                invoicePdf.SaveAs("Invoice.pdf");
                break;
            default:
                string defaultHtml = "<h1>Document</h1><p>This is a default PDF document.</p>";
                PdfDocument defaultPdf = renderer.RenderHtmlAsPdf(defaultHtml);
                defaultPdf.SaveAs("Default.pdf");
                break;
        }
    }
}
using IronPdf;
using System;
public class Program
{
    public static void Main(string[] args)
    {
        Console.WriteLine("What do you want to create?");
        Console.WriteLine("a. Report");
        Console.WriteLine("b. Invoice");
        var input = Console.ReadLine();
        string docType;
        if (input == "a")
        {
            GeneratePdf("Report");
        }
        else if (input == "b")
        {
            GeneratePdf("Invoice");
        }
        else
        {
            GeneratePdf(null);
        }
    }
    public static void GeneratePdf(string docType)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        switch (docType)
        {
            case "Report":
                string reportHtml = "<h1>Report</h1><p>This is a dynamically generated report.</p>";
                PdfDocument reportPdf = renderer.RenderHtmlAsPdf(reportHtml);
                reportPdf.SaveAs("Report.pdf");
                break;
            case "Invoice":
                string invoiceHtml = "<h1>Invoice</h1><p>This is a dynamically generated invoice.</p>";
                PdfDocument invoicePdf = renderer.RenderHtmlAsPdf(invoiceHtml);
                invoicePdf.SaveAs("Invoice.pdf");
                break;
            default:
                string defaultHtml = "<h1>Document</h1><p>This is a default PDF document.</p>";
                PdfDocument defaultPdf = renderer.RenderHtmlAsPdf(defaultHtml);
                defaultPdf.SaveAs("Default.pdf");
                break;
        }
    }
}
Imports IronPdf
Imports System
Public Class Program
	Public Shared Sub Main(ByVal args() As String)
		Console.WriteLine("What do you want to create?")
		Console.WriteLine("a. Report")
		Console.WriteLine("b. Invoice")
		Dim input = Console.ReadLine()
		Dim docType As String
		If input = "a" Then
			GeneratePdf("Report")
		ElseIf input = "b" Then
			GeneratePdf("Invoice")
		Else
			GeneratePdf(Nothing)
		End If
	End Sub
	Public Shared Sub GeneratePdf(ByVal docType As String)
		Dim renderer As New ChromePdfRenderer()
		Select Case docType
			Case "Report"
				Dim reportHtml As String = "<h1>Report</h1><p>This is a dynamically generated report.</p>"
				Dim reportPdf As PdfDocument = renderer.RenderHtmlAsPdf(reportHtml)
				reportPdf.SaveAs("Report.pdf")
			Case "Invoice"
				Dim invoiceHtml As String = "<h1>Invoice</h1><p>This is a dynamically generated invoice.</p>"
				Dim invoicePdf As PdfDocument = renderer.RenderHtmlAsPdf(invoiceHtml)
				invoicePdf.SaveAs("Invoice.pdf")
			Case Else
				Dim defaultHtml As String = "<h1>Document</h1><p>This is a default PDF document.</p>"
				Dim defaultPdf As PdfDocument = renderer.RenderHtmlAsPdf(defaultHtml)
				defaultPdf.SaveAs("Default.pdf")
		End Select
	End Sub
End Class
VB   C#

Selección de caso en C#(Cómo Funciona Para Desarrolladores): Figura 2

En este ejemplo, la declaración switch controla qué tipo de documento se genera. Si el docType es "Report", se creará un PDF de informe. Si es "Invoice", se generará una factura. Si no se encuentra ninguna coincidencia, se crea un PDF predeterminado en su lugar.

¿Por qué elegir IronPDF para tus proyectos .NET?

IronPDF se destaca por su capacidad para renderizar HTML, CSS, JavaScript e incluso contenido dinámico de C# directamente en PDFs. Al integrarlo con la declaración switch de C#, puedes simplificar tu proceso de generación de documentos, haciéndolo más eficiente y fácil de mantener.

Algunos beneficios clave de IronPDF incluyen:

  • Integración simple: Convierte fácilmenteHTML, imágenes, y más en PDFs con una configuración mínima.
  • Conjunto Completo de Funciones: IronPDF admite características como encabezados, pies de página, marcas de agua y más.
  • Soporte multiplataforma: Funciona en .NET Core, .NET Framework y entornos de Azure.

    Para obtener más información sobre el conjunto robusto de características que ofrece IronPDF, asegúrese de consultar su útilcómodisponible, puede explorar todas sus funciones sin riesgos antes de comprometerse.

Conclusión

Al aprovechar la declaración switch case en C# y IronPDF, puedes crear documentos PDF dinámicos y personalizables con un esfuerzo mínimo. Ya sea que necesite generar informes, facturas u otros tipos de documentos, esta combinación ofrece flexibilidad y eficiencia. El uso de declaraciones como una declaración if funciona bien si estás procesando solo uno o dos resultados potenciales, pero las declaraciones switch pueden mejorar enormemente la claridad de tu código cuando trabajas con múltiples resultados.

Utilizar el bloque de switch para generar diferentes tipos de PDF es una excelente manera de aprovechar IronPDF a un nivel completamente nuevo. Con un amplio conjunto de funciones avanzadas, gran rendimiento y compatibilidad multiplataforma, IronPDF es una poderosa herramienta de generación de PDF para tener a tu disposición. No solo confíe en nuestra palabra—descargue el prueba gratuitahoy mismo y comprueba por ti mismo cómo puede optimizar tus flujos de trabajo de PDF!

< ANTERIOR
C# Float (Cómo funciona para desarrolladores)
SIGUIENTE >
C# CancellationToken (Cómo funciona para desarrolladores)

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

Descarga gratuita de NuGet Descargas totales: 11,938,203 Ver licencias >