Saltar al pie de página
USANDO IRONPDF

Cómo crear un visor de PDF ASP.NET Core MVC con IronPDF

Cree un visor de PDF ASP.NET Core MVC utilizando el motor de renderizado basado en Chrome de IronPDF para mostrar archivos PDF en línea en los navegadores, generar PDF dinámicos a partir de contenido HTML y controlar si los usuarios ven o descargan documentos, todo sin complementos ni dependencias externas.

Los navegadores modernos incluyen un visor de PDF integrado que se activa automáticamente cuando una aplicación web sirve archivos PDF con el tipo MIME correcto. Esto elimina la necesidad de herramientas o plugins de terceros, permitiendo a los usuarios visualizar documentos PDF directamente en su navegador. IronPDF , una biblioteca de PDF .NET que se actualiza con frecuencia, simplifica la generación, representación y visualización de archivos PDF dentro de aplicaciones ASP.NET Core MVC.

En este artículo, le mostraremos cómo crear una aplicación web de visor de PDF ASP.NET Core MVC utilizando el motor de renderizado basado en Chrome de IronPDF. El objetivo principal de esta guía es lograr resultados con píxeles perfectos manteniendo un alto rendimiento.

Empiece con IronPDF ahora.
green arrow pointer

¿Cómo muestran los navegadores modernos los archivos PDF?

Los navegadores modernos como Chrome, Firefox, Edge y Safari incluyen funciones nativas de visualización de PDF. Cuando su aplicación ASP.NET Core devuelve un archivo con el tipo de contenido application/pdf, el navegador renderiza el documento PDF en línea sin necesidad de Adobe Acrobat o plugins externos. Este visor de PDF integrado admite funciones esenciales como la selección de texto, la impresión, los controles de zoom, los marcadores y la navegación por páginas, creando una experiencia completa de visualización de documentos.

Para servir de forma segura los archivos existentes, se recomienda utilizar el entorno de alojamiento para ubicarlos en lugar de confiar en rutas de directorio que pueden cambiar entre el desarrollo y la producción. Además, utilizar un flujo de archivos suele ser más eficiente en términos de memoria que cargar matrices de bytes completas para documentos grandes.

using Microsoft.AspNetCore.Mvc;
public class DocumentController : Controller
{
    public IActionResult ViewPdf()
    {
        // Path to an existing PDF file in the wwwroot folder
        string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "documents", "sample.pdf");
        byte[] fileBytes = System.IO.File.ReadAllBytes(path);
        // Return file for inline browser display
        return File(fileBytes, "application/pdf");
    }
}
using Microsoft.AspNetCore.Mvc;
public class DocumentController : Controller
{
    public IActionResult ViewPdf()
    {
        // Path to an existing PDF file in the wwwroot folder
        string path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "documents", "sample.pdf");
        byte[] fileBytes = System.IO.File.ReadAllBytes(path);
        // Return file for inline browser display
        return File(fileBytes, "application/pdf");
    }
}
Imports Microsoft.AspNetCore.Mvc

Public Class DocumentController
    Inherits Controller

    Public Function ViewPdf() As IActionResult
        ' Path to an existing PDF file in the wwwroot folder
        Dim path As String = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "documents", "sample.pdf")
        Dim fileBytes As Byte() = System.IO.File.ReadAllBytes(path)
        ' Return file for inline browser display
        Return File(fileBytes, "application/pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

Este enfoque simple funciona eficazmente para servir archivos PDF estáticos almacenados en su servidor. Para escenarios más avanzados, es posible que desee cargar archivos PDF desde la memoria o Azure Blob Storage , lo que puede mejorar la escalabilidad y reducir los requisitos de almacenamiento del servidor.

¿Cómo se ve un PDF cuando se muestra en el navegador?

Un documento PDF sobre "¿Qué es un PDF?" se muestra en un navegador web en la dirección local:7162/Pdf/ViewPdf, mostrando el texto formateado en una interfaz de visor de PDF con controles de zoom y opciones de navegación.

El código anterior lee un archivo PDF existente del servidor y lo devuelve al navegador. El método File() acepta una matriz de bytes y un tipo de contenido, y ordena al visor de documentos del navegador que renderice el contenido en línea. Este método funciona en todos los navegadores modernos, tanto en ordenadores de sobremesa como en dispositivos móviles, proporcionando una experiencia coherente a todos los usuarios.

¿Cómo pueden los desarrolladores generar documentos PDF de forma dinámica?

Los archivos PDF estáticos son útiles, pero muchas aplicaciones web requieren documentos generados dinámicamente. La clase ChromePdfRenderer de IronPDF convierte el contenido HTML en archivos PDF renderizados de forma profesional. Instale IronPDF a través de paquetes NuGet en Visual Studio para comenzar.

Puede incluir recursos externos, como CSS para su tema específico o JavaScript para gráficos , directamente en la cadena HTML. El motor de renderizado admite estándares web modernos, incluidos CSS3, JavaScript ES6+ y fuentes web .

using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class ReportController : Controller
{
    public IActionResult GenerateReport()
    {
        var renderer = new ChromePdfRenderer();
        // HTML content with CSS styling
        string html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 40px; }
                    h1 { color: #2c3e50; }
                    .report-body { line-height: 1.6; }
                </style>
            </head>
            <body>
                <h1>Monthly Sales Report</h1>
                <div class='report-body'>
                    <p>Generated: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
                    <p>This report contains the latest sales figures.</p>
                </div>
            </body>
            </html>";
        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class ReportController : Controller
{
    public IActionResult GenerateReport()
    {
        var renderer = new ChromePdfRenderer();
        // HTML content with CSS styling
        string html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 40px; }
                    h1 { color: #2c3e50; }
                    .report-body { line-height: 1.6; }
                </style>
            </head>
            <body>
                <h1>Monthly Sales Report</h1>
                <div class='report-body'>
                    <p>Generated: " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
                    <p>This report contains the latest sales figures.</p>
                </div>
            </body>
            </html>";
        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc

Public Class ReportController
    Inherits Controller

    Public Function GenerateReport() As IActionResult
        Dim renderer As New ChromePdfRenderer()
        ' HTML content with CSS styling
        Dim html As String = "
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; padding: 40px; }
                    h1 { color: #2c3e50; }
                    .report-body { line-height: 1.6; }
                </style>
            </head>
            <body>
                <h1>Monthly Sales Report</h1>
                <div class='report-body'>
                    <p>Generated: " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p>
                    <p>This report contains the latest sales figures.</p>
                </div>
            </body>
            </html>"
        Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
        Return File(pdf.BinaryData, "application/pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

¿Cómo aparece el contenido HTML después de la generación del PDF?

Visor de PDF que muestra un informe mensual de ventas con texto de encabezado formateado y fecha de generación, demostrando la conversión de HTML a PDF con estilo CSS personalizado aplicado mediante IronPDF.

Este ejemplo demuestra cómo IronPDF transforma una cadena HTML en un documento PDF . El ChromePdfRenderer utiliza un motor basado en Chromium, lo que garantiza un renderizado CSS preciso y compatibilidad con JavaScript. El PDF generado mantiene todo el estilo definido en el HTML, lo que lo hace ideal para crear informes , facturas y otros documentos que requieren un formato consistente. El controlador maneja la solicitud y devuelve la salida renderizada a los usuarios.

Para obtener información adicional y ejemplos de código sobre la conversión de HTML a PDF , explore la documentación completa de IronPDF. También puedes generar archivos PDF a partir de vistas CSHTML de Razor , URL o incluso contenido Markdown .

¿Qué opciones existen para la visualización en línea frente a la descarga?

A veces, los usuarios necesitan descargar archivos PDF en lugar de verlos en el navegador. Es posible que tenga un enlace en su página de inicio que dirija a los usuarios a estos informes. La forma en que el navegador maneja la respuesta depende del encabezado Content-Disposition . Comprender esta distinción es crucial para ofrecer la experiencia de usuario adecuada.

using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class PdfController : Controller
{
    public IActionResult DisplayInline()
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options for better output
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.MarginTop = 25;
        renderer.RenderingOptions.MarginBottom = 25;

        PdfDocument pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_42___");
        // Display PDF inline in browser
        return File(pdf.BinaryData, "application/pdf");
    }

    public IActionResult DownloadPdf()
    {
        var renderer = new ChromePdfRenderer();
        // Set additional options for downloaded PDFs
        renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter;
        renderer.RenderingOptions.EnableJavaScript = true;

        PdfDocument pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_43___");
        // Prompt download with specified filename
        return File(pdf.BinaryData, "application/pdf", "webpage-report.pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class PdfController : Controller
{
    public IActionResult DisplayInline()
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options for better output
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.MarginTop = 25;
        renderer.RenderingOptions.MarginBottom = 25;

        PdfDocument pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_42___");
        // Display PDF inline in browser
        return File(pdf.BinaryData, "application/pdf");
    }

    public IActionResult DownloadPdf()
    {
        var renderer = new ChromePdfRenderer();
        // Set additional options for downloaded PDFs
        renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter;
        renderer.RenderingOptions.EnableJavaScript = true;

        PdfDocument pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_43___");
        // Prompt download with specified filename
        return File(pdf.BinaryData, "application/pdf", "webpage-report.pdf");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc

Public Class PdfController
    Inherits Controller

    Public Function DisplayInline() As IActionResult
        Dim renderer As New ChromePdfRenderer()
        ' Configure rendering options for better output
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
        renderer.RenderingOptions.MarginTop = 25
        renderer.RenderingOptions.MarginBottom = 25

        Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("___PROTECTED_URL_42___")
        ' Display PDF inline in browser
        Return File(pdf.BinaryData, "application/pdf")
    End Function

    Public Function DownloadPdf() As IActionResult
        Dim renderer As New ChromePdfRenderer()
        ' Set additional options for downloaded PDFs
        renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter
        renderer.RenderingOptions.EnableJavaScript = True

        Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("___PROTECTED_URL_43___")
        ' Prompt download with specified filename
        Return File(pdf.BinaryData, "application/pdf", "webpage-report.pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

¿Cuándo debería utilizar la visualización en línea en lugar de la descarga?

Captura de pantalla que muestra la página principal de Wikipedia convertida a formato PDF y mostrada en línea en una ventana del navegador con controles de visualización de PDF que incluyen zoom, navegación de página y opciones de impresión.

La diferencia entre estas dos acciones del controlador radica en el tercer parámetro del método File(). Al proporcionar un nombre de archivo, ASP.NET Core agrega automáticamente el encabezado Content-Disposition: attachment , solicitando a los usuarios que descarguen el archivo. Si se omite el parámetro filename, se utiliza el modo de visualización en línea predeterminado.

Esta flexibilidad permite que su aplicación admita ambos escenarios de visualización según las necesidades del usuario o los requisitos del proyecto. Para un mejor control, también puede implementar encabezados personalizados o configurar ajustes de orientación y tamaño del papel .

¿Cómo pueden integrarse Razor Pages con la generación de PDF de .NET Core?

Razor Pages en ASP.NET Core MVC proporciona otro enfoque para implementar un visor de PDF .NET. El modelo de página puede generar y devolver archivos PDF utilizando la misma funcionalidad de IronPDF. Este patrón funciona particularmente bien para aplicaciones que ya utilizan Razor Pages para su arquitectura.

using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
public class InvoiceModel : PageModel
{
    public IActionResult OnGet(int id)
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;

        // Add header and footer
        renderer.RenderingOptions.TextHeader.CenterText = "Invoice Document";
        renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}";
        renderer.RenderingOptions.TextFooter.FontSize = 10;

        string html = $@"
            <html>
            <head>
                <style>
                    body {{ font-family: 'Segoe UI', Arial, sans-serif; padding: 40px; }}
                    h1 {{ color: #1a5490; border-bottom: 2px solid #1a5490; padding-bottom: 10px; }}
                    .invoice-details {{ margin: 20px 0; }}
                    table {{ width: 100%; border-collapse: collapse; }}
                    th, td {{ padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }}
                </style>
            </head>
            <body>
                <h1>Invoice #{id}</h1>
                <div class='invoice-details'>
                    <p><strong>Date:</strong> {DateTime.Now:yyyy-MM-dd}</p>
                    <p><strong>Due Date:</strong> {DateTime.Now.AddDays(30):yyyy-MM-dd}</p>
                </div>
                <table>
                    <tr>
                        <th>Description</th>
                        <th>Amount</th>
                    </tr>
                    <tr>
                        <td>Professional Services</td>
                        <td>$1,500.00</td>
                    </tr>
                </table>
                <p style='margin-top: 40px;'>Thank you for your business!</p>
            </body>
            </html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
public class InvoiceModel : PageModel
{
    public IActionResult OnGet(int id)
    {
        var renderer = new ChromePdfRenderer();
        // Configure rendering options
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;

        // Add header and footer
        renderer.RenderingOptions.TextHeader.CenterText = "Invoice Document";
        renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}";
        renderer.RenderingOptions.TextFooter.FontSize = 10;

        string html = $@"
            <html>
            <head>
                <style>
                    body {{ font-family: 'Segoe UI', Arial, sans-serif; padding: 40px; }}
                    h1 {{ color: #1a5490; border-bottom: 2px solid #1a5490; padding-bottom: 10px; }}
                    .invoice-details {{ margin: 20px 0; }}
                    table {{ width: 100%; border-collapse: collapse; }}
                    th, td {{ padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }}
                </style>
            </head>
            <body>
                <h1>Invoice #{id}</h1>
                <div class='invoice-details'>
                    <p><strong>Date:</strong> {DateTime.Now:yyyy-MM-dd}</p>
                    <p><strong>Due Date:</strong> {DateTime.Now.AddDays(30):yyyy-MM-dd}</p>
                </div>
                <table>
                    <tr>
                        <th>Description</th>
                        <th>Amount</th>
                    </tr>
                    <tr>
                        <td>Professional Services</td>
                        <td>$1,500.00</td>
                    </tr>
                </table>
                <p style='margin-top: 40px;'>Thank you for your business!</p>
            </body>
            </html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        return File(pdf.BinaryData, "application/pdf");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Imports Microsoft.AspNetCore.Mvc.RazorPages

Public Class InvoiceModel
    Inherits PageModel

    Public Function OnGet(id As Integer) As IActionResult
        Dim renderer As New ChromePdfRenderer()
        ' Configure rendering options
        renderer.RenderingOptions.MarginTop = 20
        renderer.RenderingOptions.MarginBottom = 20
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4

        ' Add header and footer
        renderer.RenderingOptions.TextHeader.CenterText = "Invoice Document"
        renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}"
        renderer.RenderingOptions.TextFooter.FontSize = 10

        Dim html As String = $"
            <html>
            <head>
                <style>
                    body {{ font-family: 'Segoe UI', Arial, sans-serif; padding: 40px; }}
                    h1 {{ color: #1a5490; border-bottom: 2px solid #1a5490; padding-bottom: 10px; }}
                    .invoice-details {{ margin: 20px 0; }}
                    table {{ width: 100%; border-collapse: collapse; }}
                    th, td {{ padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }}
                </style>
            </head>
            <body>
                <h1>Invoice #{id}</h1>
                <div class='invoice-details'>
                    <p><strong>Date:</strong> {DateTime.Now:yyyy-MM-dd}</p>
                    <p><strong>Due Date:</strong> {DateTime.Now.AddDays(30):yyyy-MM-dd}</p>
                </div>
                <table>
                    <tr>
                        <th>Description</th>
                        <th>Amount</th>
                    </tr>
                    <tr>
                        <td>Professional Services</td>
                        <td>$1,500.00</td>
                    </tr>
                </table>
                <p style='margin-top: 40px;'>Thank you for your business!</p>
            </body>
            </html>"

        Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
        Return File(pdf.BinaryData, "application/pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

¿Qué opciones de renderizado están disponibles para la personalización de PDF?

Visor de PDF que muestra la factura n.° 20 con formato profesional, incluyendo encabezados con estilo, información de fecha de vencimiento y un mensaje de agradecimiento en una interfaz de navegador con tema oscuro.

Este ejemplo de Razor Pages demuestra cómo el controlador OnGet genera un PDF a partir de un parámetro de URL. La propiedad RenderingOptions permite personalizar los márgenes , la orientación de la página y otras configuraciones. También puede agregar encabezados y pies de página , configurar números de página o configurar tamaños de papel personalizados . Para obtener información adicional, explore la documentación de opciones de renderizado de IronPDF.

Las funciones avanzadas incluyen marcas de agua , compresión de PDF y firmas digitales . También puede implementar la creación de formularios o fusionar varios PDF para flujos de trabajo de documentos más complejos.

¿Cuáles son los puntos clave a tener en cuenta para crear visores de PDF?

La creación de un visor ASP.NET Core MVC para documentos PDF combina las capacidades nativas del navegador con las potentes funciones de generación de IronPDF. El visor de PDF integrado en los navegadores modernos maneja la funcionalidad de visualización, impresión y navegación automáticamente cuando el controlador ASP.NET devuelve archivos con el tipo MIME correcto. IronPDF simplifica la creación de documentos PDF profesionales a partir de HTML, URL o archivos existentes con total compatibilidad con CSS, JavaScript y opciones de representación personalizadas.

Los beneficios clave de usar IronPDF para visualizar PDF en ASP.NET Core incluyen:

  • No se requieren complementos de visualización externos
  • El motor de renderizado de Chrome garantiza una representación precisa de HTML/CSS
  • Soporte para JavaScript y contenido dinámico
  • Opciones flexibles para visualización en línea y descarga de archivos
  • Amplias opciones de personalización para resultados profesionales.
  • Compatibilidad multiplataforma, incluidos Linux y Docker

Ya sea creando un visor de documentos simple para mostrar archivos PDF o implementando un sistema completo de generación de informes, IronPDF proporciona las herramientas y características necesarias para una integración perfecta de PDF. La biblioteca se integra sin problemas con su aplicación web ASP.NET Core y admite tanto los controladores MVC tradicionales como los enfoques modernos de Razor Pages.

Para las implementaciones de producción, considere técnicas de optimización del rendimiento, como la representación asincrónica y la gestión adecuada de la memoria . También puede explorar funciones avanzadas como la compatibilidad con PDF/A para archivado a largo plazo o la seguridad de PDF para documentos confidenciales.

Comience su prueba gratuita para explorar todas las capacidades de IronPDF o compre una licencia para uso en producción. Visite nuestra documentación completa para obtener más información sobre las funciones avanzadas y las mejores prácticas.

Preguntas Frecuentes

¿Cómo puedo mostrar archivos PDF en aplicaciones ASP.NET Core MVC?

Puede mostrar archivos PDF en aplicaciones ASP.NET Core MVC utilizando IronPDF. Permite generar, procesar y mostrar archivos PDF directamente en el navegador mediante modernos visores de PDF integrados.

¿Necesito plugins de terceros para ver archivos PDF en un navegador?

No, los navegadores modernos tienen visores de PDF integrados que se activan automáticamente al servir archivos PDF con el tipo MIME correcto. IronPDF puede ayudarle a garantizar que sus PDF se sirven correctamente.

¿Cuál es la ventaja de utilizar IronPDF en ASP.NET Core MVC?

IronPDF es una biblioteca PDF .NET que simplifica el proceso de generación y representación de documentos PDF en aplicaciones ASP.NET Core MVC, mejorando la productividad y agilizando la gestión de PDF.

¿Puede IronPDF funcionar con los visores de PDF de navegador existentes?

Sí, IronPDF funciona a la perfección con los visores de PDF existentes en los navegadores, garantizando que los PDF se sirven con el tipo MIME correcto para su visualización automática en el navegador.

¿Se actualiza IronPDF con frecuencia?

Sí, IronPDF es una biblioteca PDF .NET que se actualiza con frecuencia y que ofrece las últimas funciones y mejoras para gestionar documentos PDF en aplicaciones ASP.NET Core MVC.

¿Cómo gestiona IronPDF la generación de PDF en aplicaciones web?

IronPDF ofrece funciones sólidas para generar archivos PDF a partir de diversos tipos de contenido, lo que permite a los desarrolladores crear documentos PDF dinámicos e interactivos dentro de las aplicaciones web.

¿Qué tipo MIME debe utilizarse para servir archivos PDF?

Para garantizar una correcta visualización en los navegadores, los archivos PDF deben servirse con el tipo MIME 'application/pdf'. IronPDF puede ayudar a gestionar este aspecto de forma eficiente.

¿Puedo personalizar la representación de PDF en IronPDF?

Sí, IronPDF ofrece amplias opciones de personalización para renderizar archivos PDF, lo que le permite adaptar el resultado para satisfacer requisitos específicos de diseño y funcionalidad.

¿Es IronPDF compatible únicamente con aplicaciones ASP.NET Core MVC?

Aunque IronPDF es excelente para aplicaciones ASP.NET Core MVC, también es versátil y se puede utilizar con otras aplicaciones .NET para manejar funcionalidades PDF.

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