Saltar al pie de página
USANDO IRONPDF

Cómo crear un PDF en ASP.NET C#

Si alguna vez ha tenido que lidiar con el dolor de cabeza que supone generar archivos PDF formateados en ASP.NET C#, sabrá lo frustrante que puede llegar a ser. La necesidad de facturas profesionales, informes detallados y documentos oficiales es una constante, pero la complejidad de las API de PDF tradicionales a menudo se interpone en el camino.

Afortunadamente, IronPDF elimina esa complejidad. Esta potente biblioteca PDF .NET simplifica todo el proceso, proporcionándole el código completo y las herramientas para generar documentos PDF magníficos y fiables con rapidez.

¿Qué hace que la generación de PDF sea esencial en ASP.NET Core?

Los documentos PDF son el estándar universal para compartir contenidos formateados en diferentes plataformas y dispositivos. En las aplicaciones ASP.NET Core, la generación de archivos PDF permite a las empresas crear facturas profesionales, informes detallados y documentos oficiales que mantienen su formato independientemente del entorno de visualización. La generación de PDF del lado del servidor proporciona un resultado coherente, un mejor control de la seguridad y elimina la dependencia de los recursos del lado del cliente.

La posibilidad de convertir contenido HTML directamente a formato PDF abre grandes posibilidades. Puede aprovechar sus conocimientos de HTML y CSS para crear documentos PDF con un formato atractivo sin tener que aprender complejas API específicas de PDF. Este enfoque le permite generar archivos PDF a partir de sus páginas web existentes, vistas Razor o cadenas HTML personalizadas con el mínimo esfuerzo.

¿Cómo simplifica IronPDF la creación de PDF?

IronPDF destaca entre otras bibliotecas de generación de PDF gracias a su motor de renderizado basado en Chrome, que garantiza una conversión precisa de HTML a PDF. Este motor es compatible con los estándares web modernos, incluidos CSS3, JavaScript y diseños adaptables, lo que permite crear documentos PDF con el mismo aspecto que sus equivalentes en HTML.

El sencillo diseño de la API de la biblioteca permite empezar a generar archivos PDF de inmediato sin necesidad de realizar grandes configuraciones. IronPDF se encarga de las complejidades de la creación de archivos PDF entre bastidores, desde la gestión de fuentes e imágenes hasta la representación correcta de diseños complejos. Tanto si necesita generar un PDF a partir de una simple cadena HTML como convertir páginas web enteras, el proceso sigue siendo siempre sencillo. Se trata de una potente biblioteca de código abierto para muchos desarrolladores.

¿Cómo empezar a utilizar IronPDF en ASP.NET Core?

La configuración de IronPDF en su proyecto ASP.NET Core es sencilla mediante el gestor de paquetes NuGet. Abra la consola del gestor de paquetes en Visual Studio y ejecute el siguiente comando:

Install-Package IronPdf
Install-Package IronPdf
SHELL

Una vez instalado, tendrá acceso a la biblioteca completa de IronPDF y podrá empezar inmediatamente a crear archivos PDF. Para el uso en producción, necesitará aplicar una clave de licencia, pero la versión gratuita permite el desarrollo completo y las pruebas.

¿Cómo crear documentos PDF a partir de una simple cadena HTML?

Empecemos con un ejemplo sencillo que muestra cómo crear un archivo PDF a partir de una cadena HTML. Este ejemplo muestra el enfoque fundamental para generar documentos PDF:

using IronPdf;
public class PdfGenerator
{
    public void CreateSimplePdf()
    {
        // Create a new PDF document
        var renderer = new ChromePdfRenderer();
        // Generate PDF from HTML string
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is my first PDF file in C#!</p>");
        // Save the PDF file
        pdf.SaveAs("simple-document.pdf");
    }
}
using IronPdf;
public class PdfGenerator
{
    public void CreateSimplePdf()
    {
        // Create a new PDF document
        var renderer = new ChromePdfRenderer();
        // Generate PDF from HTML string
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is my first PDF file in C#!</p>");
        // Save the PDF file
        pdf.SaveAs("simple-document.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Resultado PDF

Crear PDF ASP .NET C#: Guía completa para la generación de PDF con IronPDF: Imagen 1 - Salida simple de HTML a PDF

Este código crea un nuevo documento con contenido HTML básico. La clase ChromePdfRenderer se encarga de todos los detalles de la conversión, transformando tu HTML en un archivo PDF con el formato adecuado. El documento resultante mantiene la estructura HTML mientras se convierte al formato de documento portátil. También puede encontrar útiles tutoriales en PDF con ejemplos completos de código en nuestro sitio web.

¿Cómo generar documentos PDF con HTML complejo?

IronPDF destaca en la conversión de contenido HTML complejo en documentos PDF. Vamos a crear un documento de factura más sofisticado que demuestre las capacidades de la biblioteca con contenido HTML estilizado:

using IronPdf;
using System;
public class InvoiceGenerator
{
    public void CreateInvoiceDocument()
    {
        var renderer = new ChromePdfRenderer();
        // HTML content with styling
        string htmlContent = @"
        <!DOCTYPE html>
        <html>
        <head>
            <style>
                body { font-family: 'Arial', sans-serif; margin: 40px; }
                .header { background-color: #003366; color: white; padding: 20px; text-align: center; }
                .invoice-details { margin: 20px 0; }
                table { width: 100%; border-collapse: collapse; margin-top: 20px; }
                th { background-color: #f0f0f0; padding: 10px; text-align: left; }
                td { padding: 10px; border-bottom: 1px solid #ddd; }
                .total { font-size: 18px; font-weight: bold; text-align: right; margin-top: 20px; }
            </style>
        </head>
        <body>
            <div class='header'>
                <h1>INVOICE</h1>
            </div>
            <div class='invoice-details'>
                <p><strong>Invoice Number:</strong> INV-2024-001</p>
                <p><strong>Date:</strong> " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
                <p><strong>Customer:</strong> ABC Corporation</p>
            </div>
            <table>
                <thead>
                    <tr>
                        <th>Item</th>
                        <th>Quantity</th>
                        <th>Price</th>
                        <th>Total</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>Professional Services</td>
                        <td>10</td>
                        <td>$150.00</td>
                        <td>$1,500.00</td>
                    </tr>
                    <tr>
                        <td>Software License</td>
                        <td>1</td>
                        <td>$499.00</td>
                        <td>$499.00</td>
                    </tr>
                </tbody>
            </table>
            <div class='total'>
                Total Amount: $1,999.00
            </div>
        </body>
        </html>";
        // Generate PDF file
        var document = renderer.RenderHtmlAsPdf(htmlContent);
        document.SaveAs("invoice.pdf");
    }
}
using IronPdf;
using System;
public class InvoiceGenerator
{
    public void CreateInvoiceDocument()
    {
        var renderer = new ChromePdfRenderer();
        // HTML content with styling
        string htmlContent = @"
        <!DOCTYPE html>
        <html>
        <head>
            <style>
                body { font-family: 'Arial', sans-serif; margin: 40px; }
                .header { background-color: #003366; color: white; padding: 20px; text-align: center; }
                .invoice-details { margin: 20px 0; }
                table { width: 100%; border-collapse: collapse; margin-top: 20px; }
                th { background-color: #f0f0f0; padding: 10px; text-align: left; }
                td { padding: 10px; border-bottom: 1px solid #ddd; }
                .total { font-size: 18px; font-weight: bold; text-align: right; margin-top: 20px; }
            </style>
        </head>
        <body>
            <div class='header'>
                <h1>INVOICE</h1>
            </div>
            <div class='invoice-details'>
                <p><strong>Invoice Number:</strong> INV-2024-001</p>
                <p><strong>Date:</strong> " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>
                <p><strong>Customer:</strong> ABC Corporation</p>
            </div>
            <table>
                <thead>
                    <tr>
                        <th>Item</th>
                        <th>Quantity</th>
                        <th>Price</th>
                        <th>Total</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>Professional Services</td>
                        <td>10</td>
                        <td>$150.00</td>
                        <td>$1,500.00</td>
                    </tr>
                    <tr>
                        <td>Software License</td>
                        <td>1</td>
                        <td>$499.00</td>
                        <td>$499.00</td>
                    </tr>
                </tbody>
            </table>
            <div class='total'>
                Total Amount: $1,999.00
            </div>
        </body>
        </html>";
        // Generate PDF file
        var document = renderer.RenderHtmlAsPdf(htmlContent);
        document.SaveAs("invoice.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Fichero PDF de salida

Crear PDF ASP .NET C#: Guía completa para la generación de PDF con IronPDF: Imagen 2 - Salida de HTML complejo a PDF

El código anterior muestra cómo IronPDF gestiona estructuras HTML complejas, estilos CSS y contenido dinámico para crear documentos PDF profesionales. El archivo PDF resultante mantiene todo el formato, por lo que es perfecto para la generación de documentos empresariales.

¿Cómo generar archivos PDF en controladores MVC de ASP.NET Core?

En las aplicaciones ASP.NET Core MVC, normalmente se generan archivos PDF dentro de las acciones del controlador y se devuelven a los usuarios para su descarga. El siguiente fragmento de código muestra cómo implementar la generación de PDF en sus controladores utilizando la última versión:

using Microsoft.AspNetCore.Mvc;
using IronPdf;
using System.IO;
public class DocumentController : Controller
{
    public IActionResult GenerateReport()
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options
        renderer.RenderingOptions.MarginTop = 25;
        renderer.RenderingOptions.MarginBottom = 25;
        renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
        string htmlString = @"
        <html>
        <head>
            <style>
                body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
                h1 { color: #2c3e50; }
                .report-content { line-height: 1.6; }
            </style>
        </head>
        <body>
            <h1>Monthly Sales Report</h1>
            <div class='report-content'>
                <p>This report contains confidential sales data for the current month.</p>
                <p>Total Revenue: $45,678</p>
                <p>New Customers: 123</p>
            </div>
        </body>
        </html>";
        // Create PDF document
        var pdfDocument = renderer.RenderHtmlAsPdf(htmlString);
        // Convert to byte array
        byte[] pdfBytes = pdfDocument.BinaryData;
        // Return file
        return File(pdfBytes, "application/pdf", "sales-report.pdf");
    }
}
using Microsoft.AspNetCore.Mvc;
using IronPdf;
using System.IO;
public class DocumentController : Controller
{
    public IActionResult GenerateReport()
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options
        renderer.RenderingOptions.MarginTop = 25;
        renderer.RenderingOptions.MarginBottom = 25;
        renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
        string htmlString = @"
        <html>
        <head>
            <style>
                body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
                h1 { color: #2c3e50; }
                .report-content { line-height: 1.6; }
            </style>
        </head>
        <body>
            <h1>Monthly Sales Report</h1>
            <div class='report-content'>
                <p>This report contains confidential sales data for the current month.</p>
                <p>Total Revenue: $45,678</p>
                <p>New Customers: 123</p>
            </div>
        </body>
        </html>";
        // Create PDF document
        var pdfDocument = renderer.RenderHtmlAsPdf(htmlString);
        // Convert to byte array
        byte[] pdfBytes = pdfDocument.BinaryData;
        // Return file
        return File(pdfBytes, "application/pdf", "sales-report.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Salida en PDF de ASP.NET

Crear PDF ASP .NET C#: Guía completa para la generación de PDF con IronPDF: Imagen 3 - ASP.NET HTML to PDF output

Esta acción del controlador genera un documento PDF y lo devuelve como archivo descargable. Las opciones de renderización permiten personalizar los márgenes y especificar el tipo de medio CSS para obtener una salida óptima en formato PDF. El nombre de archivo para la descarga es "sales-report.pdf".

¿Cómo generar fácilmente archivos PDF a partir de URL y archivos HTML?

IronPDF también puede convertir páginas web y archivos HTML directamente a formato PDF. Esto resulta especialmente útil cuando es necesario generar PDF a partir de contenidos existentes:

using IronPdf;
public class WebPageConverter
{
    public void ConvertUrlToPdf()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
        renderer.RenderingOptions.EnableJavaScript = true;
        renderer.RenderingOptions.WaitFor.RenderDelay(1000);
        // Convert URL to PDF
        var urlPdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
        urlPdf.SaveAs("webpage.pdf");
    }
    public void ConvertHtmlFileToPdf()
    {
        var renderer = new ChromePdfRenderer();
        // Convert HTML file to PDF
        var htmlFile = renderer.RenderHtmlFileAsPdf("template.html");
        htmlFile.SaveAs("from-file.pdf");
    }
}
using IronPdf;
public class WebPageConverter
{
    public void ConvertUrlToPdf()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
        renderer.RenderingOptions.EnableJavaScript = true;
        renderer.RenderingOptions.WaitFor.RenderDelay(1000);
        // Convert URL to PDF
        var urlPdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
        urlPdf.SaveAs("webpage.pdf");
    }
    public void ConvertHtmlFileToPdf()
    {
        var renderer = new ChromePdfRenderer();
        // Convert HTML file to PDF
        var htmlFile = renderer.RenderHtmlFileAsPdf("template.html");
        htmlFile.SaveAs("from-file.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Salida de URL a PDF

Crear PDF ASP .NET C#: Guía completa para la generación de PDF con IronPDF: Imagen 4 - Salida de URL a PDF

Ambos métodos conservan el diseño completo del código, las imágenes y el estilo del contenido original al crear archivos PDF. Si se ha producido un error, asegúrese de comprobar la ruta del archivo.

¿Cómo añadir encabezados y pies de página a documentos PDF?

Añadir encabezados y pies de página profesionales a los documentos PDF mejora su aspecto y proporciona contexto importante, como los números de página y los títulos de los documentos. El siguiente ejemplo de código muestra cómo hacerlo:

using IronPdf;
public class HeaderFooterExample
{
    public void CreatePdfWithHeaderFooter()
    {
        var renderer = new ChromePdfRenderer();
        // Configure headers and footers
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            MaxHeight = 25,
            HtmlFragment = "<div style='text-align:center'>Company Report</div>",
            DrawDividerLine = true
        };
        renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
        {
            MaxHeight = 25,
            HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>",
            DrawDividerLine = true
        };
        // HTML content for the main document
        string content = "<h1>Annual Report</h1><p>This document contains important information.</p>";
        // Generate PDF with headers and footers
        var doc = renderer.RenderHtmlAsPdf(content);
        doc.SaveAs("report-with-headers.pdf");
    }
}
using IronPdf;
public class HeaderFooterExample
{
    public void CreatePdfWithHeaderFooter()
    {
        var renderer = new ChromePdfRenderer();
        // Configure headers and footers
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            MaxHeight = 25,
            HtmlFragment = "<div style='text-align:center'>Company Report</div>",
            DrawDividerLine = true
        };
        renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
        {
            MaxHeight = 25,
            HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>",
            DrawDividerLine = true
        };
        // HTML content for the main document
        string content = "<h1>Annual Report</h1><p>This document contains important information.</p>";
        // Generate PDF with headers and footers
        var doc = renderer.RenderHtmlAsPdf(content);
        doc.SaveAs("report-with-headers.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PDF de salida con cabeceras

Crear PDF ASP .NET C#: Guía completa para la generación de PDF con IronPDF: Imagen 5 - PDF generado con cabeceras

Los marcadores de posición {page} y {total-pages} se rellenan automáticamente con los números de página correctos, creando archivos PDF de aspecto profesional. Esto permite añadir una nueva página a un objeto de documento existente.

Conclusión

El proceso de creación de PDF en tareas ASP.NET C# con IronPDF transforma lo que podría ser una tarea compleja en un proceso sencillo. Desde simples cadenas HTML hasta complejos documentos de facturación, el motor de renderizado de Chrome de IronPDF garantiza que sus documentos PDF tengan exactamente el aspecto deseado. La intuitiva API de la biblioteca permite generar archivos PDF, modificar archivos PDF y manejar documentos PDF existentes con un código mínimo. También puede gestionar firmas digitales fácilmente. El uso de una plantilla de aplicación de consola o ASP.NET es flexible.

Tanto si está generando PDF para informes empresariales, creando documentos PDF a partir de páginas web o convirtiendo contenido HTML a formato de documento portátil, IronPDF le proporciona todas las herramientas que necesita. ¿Está listo para empezar a crear archivos PDF profesionales en sus aplicaciones .NET?

Instale IronPDF hoy mismo y experimente lo fácil que puede ser la generación de PDF con la biblioteca .NET adecuada. Consulte la documentación para obtener más detalles. IronPDF es compatible con .NET Framework y .NET Core.

Para implantaciones de producción, explore las opciones de licencias completas que mejor se adapten a las necesidades de su proyecto. Con IronPDF, está a sólo unas líneas de código de una potente generación de documentos PDF en sus aplicaciones ASP.NET Core.

Preguntas Frecuentes

¿Qué es IronPDF y cómo ayuda a crear archivos PDF en ASP.NET C#?

IronPDF es una biblioteca que simplifica el proceso de creación y manipulación de archivos PDF en ASP.NET C#. Permite la conversión sin problemas de HTML a PDF, lo que permite a los desarrolladores generar documentos, facturas e informes profesionales con facilidad.

¿Cómo puedo convertir HTML a PDF con IronPDF en ASP.NET C#?

Para convertir HTML a PDF mediante IronPDF en ASP.NET C#, puede utilizar su sencilla API que aprovecha la renderización de Chrome. Esto garantiza una salida de PDF precisa y de alta calidad a partir de contenido HTML.

¿Cuáles son las ventajas de utilizar IronPDF frente a las API de PDF tradicionales?

IronPDF ofrece un enfoque más directo y eficaz para la generación de PDF en comparación con las API tradicionales. Reduce la complejidad proporcionando una interfaz API sencilla y funciones sólidas como la renderización basada en Chrome, lo que facilita la producción de PDF de calidad profesional.

¿Puede IronPDF encargarse de la creación de facturas e informes profesionales?

Sí, IronPDF está diseñado específicamente para gestionar la creación de facturas profesionales, informes detallados y otros documentos oficiales, lo que lo convierte en una herramienta valiosa para las empresas que requieren PDF bien formateados.

¿Qué motor de renderizado utiliza IronPDF para convertir HTML a PDF?

IronPDF utiliza un motor de renderizado de Chrome para convertir HTML a PDF, garantizando que los PDF resultantes sean precisos y mantengan el estilo del contenido HTML original.

¿Es IronPDF adecuado para generar documentos PDF complejos?

Por supuesto, IronPDF es idóneo para generar documentos PDF complejos. Sus potentes funciones permiten a los desarrolladores crear maquetaciones y diseños intrincados, manteniendo la calidad y profesionalidad del documento.

¿Por qué los desarrolladores deberían elegir IronPDF para la generación de PDF en ASP.NET C#?

Los desarrolladores deberían elegir IronPDF por su facilidad de uso, fiabilidad y capacidad para producir rápidamente archivos PDF de alta calidad. La sencilla API de la biblioteca y su sólido conjunto de funciones la convierten en la opción ideal para proyectos ASP.NET C#.

¿Cómo simplifica IronPDF el proceso de creación de PDF en ASP.NET C#?

IronPDF simplifica el proceso de creación de PDF proporcionando una API intuitiva que reduce la complejidad asociada normalmente a las bibliotecas de PDF tradicionales, lo que permite a los desarrolladores centrarse en el diseño y la funcionalidad en lugar de en los obstáculos técnicos.

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