Saltar al pie de página
USANDO IRONPDF
Cómo generar un PDF desde una plantilla en C# | IronPDF

Cómo Generar PDF desde Plantilla en C#

Los documentos PDF son prevalentes en la cultura actual, utilizados por diversas empresas para crear facturas y otros documentos. Al seleccionar una biblioteca .NET para proyectos, debe considerarse la facilidad para crear, leer y escribir archivos PDF.

Características de IronPDF

IronPDF es uno de los mejores convertidores de HTML a PDF disponibles en el mercado. IronPDF puede manejar casi cualquier operación que un navegador sea capaz de manejar. Puede crear archivos PDF desde HTML5, JavaScript, CSS e imágenes. La biblioteca de PDF para .NET hace simple producir/generar archivos PDF, leer PDF existentes y editar archivos PDF. Las modificaciones posibles incluyen cambiar tamaños de fuente, paginación, contenido de texto, etc. Los usuarios de IronPDF pueden crear campos de formulario en documentos PDF renderizados.

IronPDF es compatible con todos los tipos de proyectos de .NET Framework, incluyendo ASP.NET, Windows Forms y otros tipos de aplicaciones tradicionales de Windows. IronPDF es capaz de renderizar ASPX, Razor y otros componentes de vista MVC directamente en PDFs.

El conjunto completo de características de IronPDF incluye:

  • Convertir imágenes a PDFs (y páginas PDF en imágenes)
  • Unir y dividir PDFs
  • Completar formularios PDF de forma programática
  • Extraer texto e imágenes de PDFs
  • IronPDF puede convertir archivos de imagen así como archivos HTML a PDF
  • Crear PDFs desde páginas web, marcado HTML y documentos HTML offline
  • Generar PDFs desde páginas web bloqueadas detrás de formularios de inicio de sesión HTML.
  • Anotar PDFs.
  • Agregar encabezados, pies de página, texto, imágenes, marcadores, marcas de agua y más

Crear un nuevo proyecto en Visual Studio

Este artículo demostrará las habilidades de generación de documentos de IronPDF con una sencilla Aplicación de Consola.

Abra el software Visual Studio y vaya al menú Archivo. Seleccione "Nuevo proyecto" y luego seleccione "Aplicación de Consola".

Cómo Generar PDF desde Plantilla en C#, Figura 1: Nuevo Proyecto Nuevo Proyecto

Especificar el nombre del proyecto y su ubicación. Hacer clic en el botón Siguiente y elegir un .NET Framework.

Cómo Generar PDF desde Plantilla en C#, Figura 2: Selección de .NET Framework Selección de .NET Framework

Finalmente, hacer clic en Crear para generar el nuevo proyecto de Visual Studio.

Cómo Generar PDF desde Plantilla en C#, Figura 3: .NET Program.cs .NET Program.cs

3. Instalar la biblioteca IronPDF

La biblioteca IronPDF puede ser descargada e instalada de cuatro maneras.

Estas cuatro maneras son:

  • Usar Visual Studio.
  • Usar la Línea de Comandos de Visual Studio.
  • Descargar directamente desde el sitio web de NuGet.
  • Descargar directamente desde el sitio web de IronPDF.

3.1 Uso de Visual Studio

El Administrador de Paquetes NuGet está disponible en el software Visual Studio para la fácil instalación de paquetes desde NuGet. La captura de pantalla a continuación muestra cómo abrir el Administrador de Paquetes NuGet.

Cómo Generar PDF desde Plantilla en C#, Figura 4: Administrador de Paquetes NuGet Administrador de Paquetes NuGet

Buscar "IronPDF" en la pestaña Explorar de la interfaz del Administrador de Paquetes.

Cómo Generar PDF desde Plantilla en C#, Figura 5: Instalación de IronPDF Instalación de IronPDF

Elegir el paquete IronPdf (primera opción) y hacer clic en el botón Instalar para añadirlo a la Solución.

3.2 Uso de la línea de comandos de Visual Studio

En Visual Studio, ve a Herramientas > Administrador de Paquetes NuGet > Consola del Administrador de Paquetes

Introduzca el siguiente comando en la pestaña de la Consola del Administrador de Paquetes y presione ENTER.

Install-Package IronPdf

Cómo Generar PDF desde Plantilla en C#, Figura 6: Instalar IronPDF Instalar IronPDF

3.3 Descarga directa desde el sitio web de NuGet

  • Navegue a la página del paquete NuGet de IronPDF.
  • Haga clic en Descargar paquete desde el menú en el lado derecho.
  • Haga doble clic en el paquete descargado desde el Explorador de Windows para instalarlo automáticamente en su proyecto.

3.4 Descarga directa desde el sitio web de IronPDF

Descargue el archivo ZIP de IronPDF directamente con la última versión del paquete IronPDF.

Una vez descargado, siga los pasos a continuación para agregar el paquete al proyecto.

  • Hacer clic derecho en el proyecto desde la ventana del Explorador de Soluciones.
  • Luego, seleccione la opción Referencia y busque la ubicación de la referencia descargada.
  • Haz clic en Aceptar para agregar la referencia.

4. Crear un documento PDF a partir de una plantilla

El ejemplo de código a continuación muestra cómo crear archivos PDF desde la plantilla HTML dada con solo unas pocas líneas de código.

using System;
using System.Collections.Generic;
using System.Text;
using IronPdf;

class Program
{
    static void Main()
    {
        // Create an instance of ChromePdfRenderer
        var renderer = new IronPdf.ChromePdfRenderer();

        // Render the HTML as PDF and save it as Test.pdf
        renderer.RenderHtmlAsPdf(BuildTemplate()).SaveAs("Test.pdf");
    }

    /// <summary>
    /// Builds an HTML template string using StringBuilder
    /// </summary>
    /// <returns>HTML string representation of a table</returns>
    static string BuildTemplate()
    {
        var builder = new StringBuilder();
        builder.Append("<table border='1'>");
        builder.Append("<tr>");
        builder.Append("<th>");
        builder.Append("Cat Family");
        builder.Append("</th>");
        builder.Append("</tr>");

        // Iterate over the data and populate the table rows
        foreach (var item in GetData())
        {
            builder.Append("<tr>");
            builder.Append("<td>");
            builder.Append(item.ToString());
            builder.Append("</td>");
            builder.Append("</tr>");
        }

        builder.Append("</table>");
        return builder.ToString();
    }

    /// <summary>
    /// Provides a list of data representing different members of the cat family
    /// </summary>
    /// <returns>List of strings</returns>
    static List<string> GetData()
    {
        List<string> data = new List<string>
        {
            "Lion",
            "Tiger",
            "Cat",
            "Cheetah",
            "Lynx"
        };

        return data;
    }
}
using System;
using System.Collections.Generic;
using System.Text;
using IronPdf;

class Program
{
    static void Main()
    {
        // Create an instance of ChromePdfRenderer
        var renderer = new IronPdf.ChromePdfRenderer();

        // Render the HTML as PDF and save it as Test.pdf
        renderer.RenderHtmlAsPdf(BuildTemplate()).SaveAs("Test.pdf");
    }

    /// <summary>
    /// Builds an HTML template string using StringBuilder
    /// </summary>
    /// <returns>HTML string representation of a table</returns>
    static string BuildTemplate()
    {
        var builder = new StringBuilder();
        builder.Append("<table border='1'>");
        builder.Append("<tr>");
        builder.Append("<th>");
        builder.Append("Cat Family");
        builder.Append("</th>");
        builder.Append("</tr>");

        // Iterate over the data and populate the table rows
        foreach (var item in GetData())
        {
            builder.Append("<tr>");
            builder.Append("<td>");
            builder.Append(item.ToString());
            builder.Append("</td>");
            builder.Append("</tr>");
        }

        builder.Append("</table>");
        return builder.ToString();
    }

    /// <summary>
    /// Provides a list of data representing different members of the cat family
    /// </summary>
    /// <returns>List of strings</returns>
    static List<string> GetData()
    {
        List<string> data = new List<string>
        {
            "Lion",
            "Tiger",
            "Cat",
            "Cheetah",
            "Lynx"
        };

        return data;
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports IronPdf

Friend Class Program
	Shared Sub Main()
		' Create an instance of ChromePdfRenderer
		Dim renderer = New IronPdf.ChromePdfRenderer()

		' Render the HTML as PDF and save it as Test.pdf
		renderer.RenderHtmlAsPdf(BuildTemplate()).SaveAs("Test.pdf")
	End Sub

	''' <summary>
	''' Builds an HTML template string using StringBuilder
	''' </summary>
	''' <returns>HTML string representation of a table</returns>
	Private Shared Function BuildTemplate() As String
		Dim builder = New StringBuilder()
		builder.Append("<table border='1'>")
		builder.Append("<tr>")
		builder.Append("<th>")
		builder.Append("Cat Family")
		builder.Append("</th>")
		builder.Append("</tr>")

		' Iterate over the data and populate the table rows
		For Each item In GetData()
			builder.Append("<tr>")
			builder.Append("<td>")
			builder.Append(item.ToString())
			builder.Append("</td>")
			builder.Append("</tr>")
		Next item

		builder.Append("</table>")
		Return builder.ToString()
	End Function

	''' <summary>
	''' Provides a list of data representing different members of the cat family
	''' </summary>
	''' <returns>List of strings</returns>
	Private Shared Function GetData() As List(Of String)
		Dim data As New List(Of String) From {"Lion", "Tiger", "Cat", "Cheetah", "Lynx"}

		Return data
	End Function
End Class
$vbLabelText   $csharpLabel

En el código anterior:

  • Primero, creamos una instancia de la clase IronPDF ChromePdfRenderer para acceder a las características de creación de PDF.
  • A continuación, llamamos a RenderHtmlAsPdf pasando la cadena HTML construida por el método BuildTemplate. Este método convierte el HTML en un PDF.
  • El método BuildTemplate usa un StringBuilder para construir una tabla HTML poblada con datos.
  • GetData devuelve una lista de cadenas que representa la 'familia de gatos', que llena las filas de la tabla HTML.

A continuación se muestra el archivo PDF de muestra, generado con el código anterior con solo unas pocas líneas utilizando la plantilla dada.

Cómo Generar PDF desde Plantilla en C#, Figura 7: Archivo PDF Generado Archivo PDF Generado

Cualquier tipo de etiqueta HTML se puede usar para crear una plantilla que pueda ayudar al usuario a generar formularios de usuario, recibos, etc., con una plantilla de muestra pero diferentes datos.

Es posible utilizar el método RenderUrlAsPdf o RenderHtmlFileAsPdf para generar archivos PDF desde diferentes fuentes. El primer método acepta una URL a una página web, mientras que el segundo acepta una cadena que contiene la ubicación de un archivo HTML en el ordenador.

Lea este tutorial para generar PDFs desde HTML para más información.

Conclusión

Usa IronPDF en producción sin marca de agua con una clave de prueba gratuita. IronPDF viene con licencias de Redistribución SaaS y OEM por un costo adicional. Para saber más, consulte la página de Licencias de IronPDF.

Preguntas Frecuentes

¿Cómo puedo generar un PDF desde una plantilla HTML usando C#?

Puedes usar IronPDF para generar un PDF desde una plantilla HTML en C#. Primero, crea una cadena HTML con marcadores de posición de datos usando la clase StringBuilder. Luego, rellena la plantilla con tus datos y usa el método RenderHtmlAsPdf de IronPDF para convertir el HTML en un documento PDF.

¿Qué métodos proporciona IronPDF para convertir HTML a PDF?

IronPDF ofrece varios métodos para convertir HTML a PDF, incluidos RenderHtmlAsPdf para cadenas HTML, RenderHtmlFileAsPdf para archivos HTML locales y RenderUrlAsPdf para páginas web por URL. Estos métodos permiten una creación flexible de PDFs desde diferentes fuentes HTML.

¿Cómo instalo IronPDF en mi proyecto C#?

Para instalar IronPDF en un proyecto C#, puedes usar el Administrador de Paquetes NuGet en Visual Studio. Busca 'IronPDF' y haz clic en instalar, o usa la Consola del Administrador de Paquetes con el comando Install-Package IronPdf.

¿Puede IronPDF manejar HTML5 y JavaScript complejos al convertir a PDF?

Sí, IronPDF puede manejar HTML5 y JavaScript complejos, asegurando que la conversión de páginas web complejas a documentos PDF mantenga el formato y funcionalidad previstos.

¿Cuáles son algunos usos comunes para generar PDFs desde plantillas en C#?

Usos comunes para generar PDFs desde plantillas en C# incluyen la creación de facturas, informes y formularios. IronPDF te permite automatizar estos procesos convirtiendo plantillas HTML dinámicas llenas de datos en documentos PDF de aspecto profesional.

¿Es IronPDF compatible con ASP.NET y Windows Forms?

Sí, IronPDF es compatible con varios tipos de proyectos del .NET Framework, incluidos ASP.NET y Windows Forms, lo que lo hace versátil para diferentes entornos de desarrollo de aplicaciones.

¿Cómo puedo crear un nuevo proyecto de Visual Studio para usar IronPDF para generar PDFs?

Para crear un nuevo proyecto de Visual Studio para usar IronPDF, abre Visual Studio, selecciona 'Nuevo Proyecto', elige 'Aplicación de Consola', especifica el nombre y la ubicación del proyecto, selecciona un .NET Framework, y haz clic en 'Crear'. Después de eso, instala IronPDF vía NuGet.

¿Puede IronPDF generar PDFs desde páginas web seguras con formularios de inicio de sesión?

Sí, IronPDF puede generar PDFs desde páginas web que requieren autenticación mediante formularios de inicio de sesión HTML, permitiéndote manejar contenido web seguro y protegido de manera efectiva.

¿IronPDF es totalmente compatible con .NET 10 y qué implica ese soporte?

Sí, IronPDF es totalmente compatible con .NET 10. Funciona de inmediato en proyectos .NET 10 sin necesidad de configuración adicional, es compatible con destinos de implementación modernos (Windows, Linux, contenedores) y aprovecha las nuevas mejoras de rendimiento de .NET 10, manteniendo la misma API y el mismo conjunto de características. (Fuente: Documentación de IronPDF sobre compatibilidad con .NET 10)

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más