IRONSOFTWAREHOME

Cómo convertir vistas a PDF en ASP.NET MVC con C#

Curtis Chau
Curtis Chau
Updated: 21 de mayo de 2026

IronPDF te permite convertir Vistas ASP.NET MVC a documentos PDF usando el método ChromePdfRenderer.RenderView() con solo unas pocas líneas de código. El paquete IronPdf.Extensions.Mvc.Framework proporciona una integración perfecta con proyectos ASP.NET MVC para renderizar vistas CSHTML como PDFs.

Una Vista es un componente en el marco de ASP.NET utilizado para generar marcado HTML en aplicaciones web. Forma parte del patrón Modelo-Vista-Controlador (MVC), utilizado habitualmente en aplicaciones ASP.NET MVC y ASP.NET Core MVC. Las Vistas son responsables de presentar datos al usuario renderizando contenido HTML dinámicamente. La potencia de Chrome PDF Rendering Engine de IronPDF garantiza que sus vistas se rendericen con una precisión de píxel perfecta, manteniendo todos los estilos, diseños y elementos interactivos.

ASP.NET Web Application (.NET Framework) MVC es un marco de aplicación web proporcionado por Microsoft. Sigue un patrón arquitectónico estructurado conocido como Modelo-Vista-Controlador (MVC) para organizar y agilizar el desarrollo de aplicaciones web.

  • Modelo: Gestiona datos, lógica de negocio e integridad de datos.
  • Vista: Presenta la interfaz de usuario y renderiza información.
  • Controlador: gestiona las entradas de los usuarios, procesa las solicitudes y organiza las interacciones entre el modelo y la vista.

IronPDF simplifica el proceso de creación de archivos PDF a partir de Vistas dentro de un proyecto ASP.NET MVC. Esto hace que la generación de PDF sea fácil y directa en ASP.NET MVC. Ya sea que esté generando facturas, informes o cualquier documento desde sus vistas web, IronPDF proporciona las herramientas necesarias para una salida PDF profesional. Para obtener una guía de instalación completa, visite la página Installation Overview.

En España, muchos sistemas empresariales de facturación electrónica —incluyendo portales de cumplimiento VeriFactu, aplicaciones de envío a FACe y sistemas de gestión documental para la AEAT— aún se ejecutan sobre ASP.NET MVC Framework (.NET 4.x). IronPDF permite a estos sistemas heredados generar PDFs de facturas conformes con Facturae directamente desde sus Vistas existentes, facilitando la transición hacia la obligatoriedad de la factura electrónica impuesta por la Ley Crea y Crece sin necesidad de reescribir completamente la aplicación.

Inicio rápido: Convierta la vista ASP.NET MVC a PDF sin esfuerzo

Aprende cómo convertir rápidamente tus Vistas de ASP.NET MVC en documentos PDF usando IronPDF. Con solo unas pocas líneas de código, puedes renderizar tus vistas CSHTML a PDFs de alta calidad, mejorando la funcionalidad de tu aplicación. IronPDF simplifica el proceso, haciéndolo accesible para desarrolladores de todos los niveles. Comienza integrando IronPDF en tus proyectos ASP.NET Core para generar PDFs fácilmente desde tus Vistas.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Copy and run this code snippet.

    // Install-Package IronPdf.Extensions.Razor
    var pdf = new IronPdf.ChromePdfRenderer.RenderRazorToPdf(this.ControllerContext);
    C#
  3. 3Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer

¿Qué paquete de extensión necesito?

¿Por qué IronPDF requiere un paquete de extensión?

El paquete IronPdf.Extensions.Mvc.Framework es una extensión del paquete principal IronPDF. Se requieren tanto los paquetes IronPdf.Extensions.Mvc.Framework como IronPdf para renderizar Vistas en documentos PDF en ASP.NET MVC. Esta separación permite optimizar la funcionalidad específica del marco MVC al tiempo que se mantienen las capacidades básicas de renderizado de PDF.

¿Cómo instalar el paquete de extensión?

PM > Install-Package IronPdf.Extensions.Mvc.Framework

Biblioteca C# NuGet para PDF

Instalar con NuGet

Install-Package IronPdf.Extensions.Mvc.Framework

¿Cómo renderizar vistas en PDF?

¿Qué tipo de proyecto necesito?

Para convertir vistas en archivos PDF, se necesita un proyecto MVC de aplicación web ASP.NET (.NET Framework). IronPDF es compatible con varias versiones de MVC y proporciona amplias Opciones de renderizado para personalizar la salida de PDF según sus requisitos.

¿Cómo añado una clase modelo?

¿Dónde debo crear el modelo?

  • Navega hasta la carpeta "Models"
  • Crea un nuevo archivo de clase C# llamado Person. Esta clase sirve como un modelo para representar datos individuales. Utilice el siguiente código:
namespace ViewToPdfMVCSample.Models
{
    public class Person
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
    }
}

¿Cómo edito el controlador?

¿Qué código debo añadir al controlador?

Navega a la carpeta "Controllers" y abre el archivo HomeController. Agrega la acción Persons usando el siguiente código:

En el código proporcionado, primero se crea la clase ChromePdfRenderer. Para utilizar el método RenderView, proporciónale un HttpContext, especifica la ruta al archivo "Persons.cshtml" y proporciona un List<Person> que contenga los datos necesarios. Al renderizar la Vista, puedes utilizar RenderingOptions para personalizar márgenes, agregar textos personalizados y encabezados y pies de página HTML, y aplicar números de página al documento PDF resultante.

El documento PDF puede ser descargado a la máquina usando el siguiente código: File(pdf.BinaryData, "application/pdf", "viewToPdfMVC.pdf").

using IronPdf;
using System.Collections.Generic;
using System.Web.Mvc;
using ViewToPdfMVCSample.Models;

namespace ViewToPdfMVCSample.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        // GET: Person
        public ActionResult Persons()
        {
            // Create a list of Person objects
            var persons = new List<Person>
            {
                new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
                new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
                new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
            };

            if (HttpContext.Request.HttpMethod == "POST")
            {
                // Define the path to the View file
                var viewPath = "~/Views/Home/Persons.cshtml";

                // Instantiate the ChromePdfRenderer
                ChromePdfRenderer renderer = new ChromePdfRenderer();

                // Render the view to a PDF document
                PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);

                // Set headers to view the PDF in-browser
                Response.Headers.Add("Content-Disposition", "inline");

                // Return the generated PDF file
                return File(pdf.BinaryData, "application/pdf");
            }
            return View(persons);
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";
            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";
            return View();
        }
    }
}

¿Cómo puedo personalizar las opciones de renderizado de PDF?

Para escenarios más avanzados, puede personalizar la salida PDF utilizando varias opciones de renderizado. He aquí un ejemplo con márgenes personalizados, tamaño de papel y ajustes adicionales:

// Advanced rendering with custom options
public ActionResult PersonsAdvanced()
{
    var persons = GetPersonsList();

    if (HttpContext.Request.HttpMethod == "POST")
    {
        var viewPath = "~/Views/Home/Persons.cshtml";
        
        // Configure the renderer with custom options
        ChromePdfRenderer renderer = new ChromePdfRenderer();
        
        // Set custom rendering options
        renderer.RenderingOptions.MarginTop = 40;
        renderer.RenderingOptions.MarginBottom = 40;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;
        
        // Set custom paper size
        renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait;
        
        // Add header and footer
        renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
        renderer.RenderingOptions.TextHeader.CenterText = "{pdf-title}";
        renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
        renderer.RenderingOptions.TextHeader.FontSize = 12;
        
        renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
        renderer.RenderingOptions.TextFooter.Font = IronPdf.Font.FontTypes.Arial;
        renderer.RenderingOptions.TextFooter.FontSize = 10;
        renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
        
        // Enable JavaScript execution if needed
        renderer.RenderingOptions.EnableJavaScript = true;
        renderer.RenderingOptions.RenderDelay = 500; // Wait for JS to execute
        
        // Render the view to PDF
        PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);
        
        // Optional: Apply compression to reduce file size
        pdf.CompressImages(60);
        
        Response.Headers.Add("Content-Disposition", "inline");
        return File(pdf.BinaryData, "application/pdf");
    }
    
    return View("Persons", persons);
}

Para obtener más información sobre la optimización de márgenes, visite nuestra guía sobre Configuración de márgenes personalizados. Si necesita trabajar con dimensiones de papel específicas, consulte nuestra documentación Custom Paper Size.

¿Qué puedo hacer con el PDF generado?

Una vez que obtengas el objeto PdfDocument a través del método RenderView, puedes hacer varias mejoras y ajustes en él. Puede convertir el PDF a los formatos PDFA o PDFUA, aplicar firmas digitales al PDF creado, o fusionar y dividir documentos PDF según sea necesario. La biblioteca permite rotar páginas, insertar anotaciones o marcadores, y aplicar marcas de agua distintivas a los archivos PDF.

Para optimizar el tamaño de los archivos, considere el uso de técnicas de Compresión de PDF. Cuando se trate de contenido con mucho JavaScript, nuestra Guía de renderización de JavaScript ofrece información detallada sobre cómo gestionar los retrasos de renderización personalizados. Para conocer las distintas opciones de exportación, consulte nuestra completa guía sobre Guardar y exportar documentos PDF.

¿Cómo añado una vista?

¿Qué pasos debo seguir para crear la vista?

  • Haz clic derecho en la acción Person añadida recientemente y selecciona "Add View".

El menú contextual de Visual Studio muestra la opción 'Agregar vista...' al hacer clic con el botón derecho en el método de acción Persons()

  • Elige "Vista MVC 5" para el nuevo elemento Scaffold.

Cuadro de diálogo Agregar nuevo elemento andamiado de Visual Studio con plantilla de vista MVC 5 seleccionada

  • Selecciona el template "List" y la clase modelo Person.

Cuadro de diálogo Agregar vista en Visual Studio que muestra la configuración de la vista Personas con la plantilla de lista y la clase de modelo Persona

Esto crea un archivo .cshtml llamado "Personas"

¿Cómo añadir un botón de impresión a la vista?

  • Navega a la carpeta "Views" -> carpeta "Home" -> archivo "Persons.cshtml".

Para agregar un botón que invoque la acción Persons, usa el código a continuación:

@using (Html.BeginForm("Persons", "Home", FormMethod.Post))
{
    <input type="submit" value="Print Person" />
}
HTML

Mi biblioteca favorita de este tipo es IronPDF. Permite una manipulación rápida y eficiente de archivos PDF. También tiene muchas funciones valiosas, como exportar al formato PDF/A y firmar documentos PDF digitalmente.

Milan Jovanovic

Microsoft MVP

Ver estudio de caso

IronOCR significa que podemos ahorrar $40,000 anualmente en el procesamiento manual, mientras mejoramos la productividad y liberamos recursos para tareas de alto impacto. Lo recomendaría encarecidamente.

Brent Matzelle

Director de Tecnología, OPYN

Ver estudio de caso

El Iron Suite juega un papel crucial en nuestras operaciones. Estas son herramientas que aumentan la eficiencia en toda la empresa, incluyendo la creación de planos y la mejora en la gestión de inventario.

David Jones

Ingeniero de Software Principal, Agorus Build

Ver estudio de caso

¿Cómo añado una sección a la barra de navegación superior?

¿Dónde debo actualizar la navegación?

  • En la carpeta "Views", navega a la carpeta "Shared" -> archivo "_Layout.cshtml". Coloca el elemento de navegación "Person" después de "Home".

Asegúrate de que los valores para el método ActionLink coincidan exactamente con el nombre de nuestro archivo, que es "Persons".

<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-dark bg-dark">
    <div class="container">
        @Html.ActionLink("Application name", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
        <button type="button" class="navbar-toggler" data-bs-toggle="collapse" data-bs-target=".navbar-collapse" title="Toggle navigation" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse d-sm-inline-flex justify-content-between">
            <ul class="navbar-nav flex-grow-1">
                <li>@Html.ActionLink("Home", "Index", "Home", new { area = "" }, new { @class = "nav-link" })</li>
                <li>@Html.ActionLink("Persons", "Persons", "Home", new { area = "" }, new { @class = "nav-link" })</li>
                <li>@Html.ActionLink("About", "About", "Home", new { area = "" }, new { @class = "nav-link" })</li>
                <li>@Html.ActionLink("Contact", "Contact", "Home", new { area = "" }, new { @class = "nav-link" })</li>
            </ul>
        </div>
    </div>
</nav>
HTML

¿Cómo ejecutar y probar el proyecto?

Ejecutar el proyecto

Aquí se muestra cómo ejecutar el proyecto y generar un documento PDF.

Visual Studio mostrando el HomeController de ASP.NET MVC con el método de acción Persons y código de generación de PDF

PDF de salida

¿Dónde puedo descargar el proyecto completo?

¿Qué incluye el proyecto de muestra?

Puede descargar el código completo de esta guía. Se trata de un archivo comprimido que puede abrirse en Visual Studio como un proyecto ASP.NET Web Application (.NET Framework) MVC. La muestra incluye todas las configuraciones, clases de modelos, controladores y vistas necesarios para empezar rápidamente con la generación de PDF en sus aplicaciones MVC.

Generación de PDFs desde ASP.NET MVC Framework en el contexto de la facturación electrónica española

Los sistemas empresariales españoles con arquitecturas ASP.NET MVC Framework (.NET 4.x) representan una parte significativa de las instalaciones activas que deben adaptarse a los requisitos de VeriFactu, FACe y la Ley Crea y Crece. IronPDF facilita esta adaptación sin reescribir la aplicación.

VeriFactu y FACe en aplicaciones MVC Framework heredadas

Los portales de facturación electrónica que generan documentos Facturae para su envío a FACe (el punto de acceso B2G del Estado) necesitan adjuntar un PDF de cortesía al XML estructurado. Con IronPDF y el método RenderView, una aplicación ASP.NET MVC Framework existente puede generar este PDF directamente desde la Vista de factura, incluyendo todos los campos obligatorios exigidos por la AEAT: NIF del emisor y receptor, número de serie, fecha de expedición, base imponible y cuota de IVA. Esto permite cumplir con el formato Facturae 3.2.x sin modificar la capa de datos ni el modelo de negocio.

Modernización incremental hacia VeriFactu sin migrar a .NET Core

Muchas empresas españolas sujetas a VeriFactu a partir de 2025 operan sobre aplicaciones MVC Framework en producción que no pueden migrarse a .NET Core en el corto plazo. IronPDF permite una estrategia de modernización incremental: el sistema existente continúa operando en MVC Framework y genera los PDFs de trazabilidad VeriFactu mediante RenderView, mientras se planifica la migración completa. El campo de firma PAdES requerido por eIDAS puede aplicarse al objeto PdfDocument resultante antes de su archivado, cumpliendo así con los requisitos de conservación de 4 años establecidos por la AEAT para documentos tributarios.

Para más información sobre la firma digital de PDFs generados desde vistas MVC, consulte la documentación de Firmas Digitales en IronPDF.

Descargar el proyecto de muestra MVC para conversión de PDF

Frequently Asked Questions

¿Cómo puedo convertir vistas CSHTML a PDF en ASP.NET MVC?

Puede convertir vistas CSHTML a PDF en ASP.NET MVC utilizando el método ChromePdfRenderer.RenderView() de IronPDF. Sólo tiene que instalar el paquete IronPdf.Extensions.Mvc.Framework y utilizar el método de renderizado para transformar sus vistas en documentos PDF de alta calidad con sólo unas pocas líneas de código.

¿Cuál es el código mínimo necesario para convertir una vista en PDF?

El código mínimo para renderizar una vista como PDF es: var pdf = new IronPdf.ChromePdfRenderer.RenderRazorToPdf(this.ControllerContext); Esta única línea de código utilizando IronPDF convertirá su vista actual en un documento PDF.

¿Qué paquete de extensión necesito para generar archivos PDF con ASP.NET MVC?

Para las aplicaciones ASP.NET MVC, necesita el paquete IronPdf.Extensions.Mvc.Framework. Esta extensión proporciona una integración perfecta con los proyectos ASP.NET MVC y funciona junto con el paquete principal IronPDF para permitir la funcionalidad de conversión de vista a PDF.

¿Qué motor de renderizado se utiliza para convertir vistas a PDF?

IronPDF utiliza el motor de renderizado de PDF de Chrome, que garantiza una precisión de píxeles perfecta al convertir vistas a PDF. Este motor mantiene todos los estilos, diseños y elementos interactivos de sus vistas CSHTML originales en la salida PDF final.

¿Puedo generar facturas e informes a partir de vistas MVC?

Sí, IronPDF es perfecta para generar facturas, informes y cualquier otro documento desde sus vistas MVC. La biblioteca ofrece funciones profesionales de salida de PDF, por lo que es ideal para crear documentos empresariales directamente desde las vistas de su aplicación web.

¿Cuáles son los pasos básicos para implementar la conversión de vista a PDF?

La implementación básica implica 5 pasos: 1) Descargar e instalar la librería IronPDF, 2) Añadir una clase modelo para sus datos, 3) Crear una acción de controlador utilizando el método RenderView, 4) Añadir una Vista utilizando MVC 5 View Scaffolding, y 5) Ejecutar la conversión utilizando los métodos de renderizado de IronPDF.

¿Mantiene el PDF el estilo original?

Sí, el motor de renderizado de Chrome de IronPDF garantiza que todos los estilos CSS, diseños y elementos interactivos de sus vistas CSHTML se conserven en la salida PDF. Esto proporciona una precisión de píxeles perfecta y mantiene la integridad visual de sus vistas web originales.

¿Puedo usar IronPDF en ASP.NET MVC Framework para generar PDFs conformes con VeriFactu?

Sí. IronPDF con el paquete IronPdf.Extensions.Mvc.Framework permite generar el PDF de representación gráfica de facturas VeriFactu directamente desde Vistas MVC Framework existentes usando el método RenderView. El objeto PdfDocument resultante puede firmarse con certificado PAdES (FNMT) antes de su archivado, cumpliendo los requisitos de trazabilidad de la AEAT.

¿Cómo adapto un sistema ASP.NET MVC Framework heredado para enviar facturas a FACe?

FACe requiere un XML Facturae con un PDF de cortesía adjunto. Con IronPDF en una aplicación MVC Framework, puede usar RenderView para generar el PDF de cortesía a partir de la Vista de factura existente, incluyendo los campos obligatorios de Facturae (NIF, CIF, importes, tipos IVA). Esta estrategia permite cumplir con FACe sin migrar la aplicación a ASP.NET Core.

Curtis Chau
Technical Writer

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.

...
Read More

¿Listo para empezar?

Nuget Downloads 20,389,208Versión:2026.7recién publicada

Obtén tu GRATIS

Clave de prueba de 30 días instantáneamente.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuenta
bullet_testPrueba en producción
sin marcas de agua
bullet_calendarProducto completamente
funcional por 30 días
bullet_supportSoporte técnico 24/5
durante la prueba
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta

Pruebe IronPDF gratis

Configúrese en 5 minutos

C# PDF DLL

Descargar DLL

Descargar ahora

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"
Biblioteca C# NuGet para PDF

Instalar con NuGet

                  Install-Package IronPdf
                
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuenta
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge related to IronPDF Product Demo

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta