Saltar al pie de página
USANDO IRONPDF

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

Crear un visor de PDF robusto para tus aplicaciones ASP.NET MVC no requiere bibliotecas complejas de JavaScript ni controles de visor de terceros. Con IronPDF, puede crear un potente control visor de PDF MVC que se encarga de todo, desde mostrar archivos PDF hasta generar documentos PDF dinámicos directamente desde sus vistas.

Este artículo te mostrará cómo implementar una solución completa de visor de PDF ASP.NET MVC que funcione sin problemas en todos los navegadores. También mostraremos cómo puedes implementar funciones como selección de texto, relleno de formularios y visualización adaptable para aplicaciones web modernas. Antes de cargar y ver su primer archivo, tome nota de nuestra documentación exhaustiva.

Descargue IronPDF y compruebe lo fácil que es crear su propio control visor de PDF .NET MVC con sólo unas líneas de código.

¿Cómo crear un visor de PDF ASP.NET MVC?

La configuración del visor de PDF basado en ASP comienza con la instalación de IronPDF a través de NuGet Package Manager. Este control de visor de PDF .NET proporciona capacidades de procesamiento del lado del servidor que eliminan problemas de compatibilidad con los navegadores. Para obtener información detallada sobre la instalación, consulte la documentación de instalación de IronPDF.

Install-Package IronPdf

En tu controlador ASP.NET MVC, agrega los espacios de nombres esenciales:

using IronPdf;
using System.Web.Mvc;
using IronPdf;
using System.Web.Mvc;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Estas importaciones permiten que tu aplicación web maneje el renderizado y la visualización de PDFs. La clase ChromePdfRenderer sirve como componente central para su control de visor de PDF MVC, proporcionando métodos para crear, manipular y mostrar archivos PDF directamente en los navegadores de los usuarios. A diferencia de las soluciones del lado del cliente, IronPDF procesa todo en el servidor, asegurando un renderizado consistente en todos los dispositivos y navegadores mientras mantiene el control sobre tus documentos PDF. Una ventaja clave de este enfoque es su seguridad.

¿Cómo mostrar archivos PDF en su aplicación web .NET MVC?

Crear un control de visor de PDF que muestre archivos PDF existentes requiere implementar una acción de controlador que devuelva el documento como un FileResult. Este enfoque permite a los usuarios ver páginas PDF directamente en su navegador sin la necesidad de cargar o seleccionar un archivo manualmente. Para escenarios más avanzados, explore Opciones de renderizado de IronPDF.

public FileResult DisplayPdf(string fileName)
{
    // Load existing PDF document
    var pdfPath = Server.MapPath($"~/Content/PDFs/{fileName}");
    PdfDocument PDF = PdfDocument.FromFile(pdfPath);
    // Set response headers to display in browser
    Response.Headers.Add("Content-Disposition", "inline; filename=" + fileName);
    // Return PDF to the browser
    return File(PDF.BinaryData, "application/pdf");
}
public FileResult DisplayPdf(string fileName)
{
    // Load existing PDF document
    var pdfPath = Server.MapPath($"~/Content/PDFs/{fileName}");
    PdfDocument PDF = PdfDocument.FromFile(pdfPath);
    // Set response headers to display in browser
    Response.Headers.Add("Content-Disposition", "inline; filename=" + fileName);
    // Return PDF to the browser
    return File(PDF.BinaryData, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Este código carga un documento PDF desde el sistema de archivos de tu servidor y lo envía al navegador. El encabezado Content-Disposition: inline indica al navegador que muestre los archivos PDF dentro del marco de visualización, en lugar de activar una descarga. El método PdfDocument.FromFile lee el archivo existente, mientras que PDF.BinaryData proporciona la matriz de bytes necesaria para la transmisión.

Esta implementación simple crea un visor de PDF MVC funcional que maneja eficientemente varios tamaños de archivo. Para visualización adaptable, el navegador ajusta automáticamente la visualización según las dimensiones del marco de visualización, asegurando que tu visor de PDF funcione en dispositivos móviles. Según Discusiones de Stack Overflow, este enfoque del lado del servidor proporciona un mejor control que la incrustación de plugins. También funciona bien con lectores de pantalla.

Resultado PDF

Creación de un visor de PDF ASP.NET MVC con IronPDF: Imagen 1 - PDF mostrado en nuestro navegador

¿Cómo convertir vistas en documentos PDF?

Tu visor de PDF ASP.NET MVC puede generar dinámicamente documentos PDF a partir de vistas Razor, permitiendo la creación de documentos impulsados por datos. Esta potente característica te permite convertir cualquier vista en un PDF con formato profesional. Más información sobre convertir CSHTML a PDF.

public FileResult GeneratePdfFromView()
{
    // Sample data for the view
    var model = new ReportModel
    {
        Title = "Monthly Report",
        Data = ReportModel.GetReportData()
    };
    // Initialize renderer
    var renderer = new ChromePdfRenderer();
    // Configure rendering options
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.EnableJavaScript = true;
    // Render MVC view to PDF
    var PDF = renderer.RenderView(this.HttpContext,
                                  "~/Views/Reports/Monthly.cshtml",
                                  model);
    // Display in browser
    Response.Headers.Add("Content-Disposition", "inline");
    return File(PDF.BinaryData, "application/pdf");
}
public FileResult GeneratePdfFromView()
{
    // Sample data for the view
    var model = new ReportModel
    {
        Title = "Monthly Report",
        Data = ReportModel.GetReportData()
    };
    // Initialize renderer
    var renderer = new ChromePdfRenderer();
    // Configure rendering options
    renderer.RenderingOptions.MarginTop = 25;
    renderer.RenderingOptions.MarginBottom = 25;
    renderer.RenderingOptions.EnableJavaScript = true;
    // Render MVC view to PDF
    var PDF = renderer.RenderView(this.HttpContext,
                                  "~/Views/Reports/Monthly.cshtml",
                                  model);
    // Display in browser
    Response.Headers.Add("Content-Disposition", "inline");
    return File(PDF.BinaryData, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

El método RenderView convierte su vista CSHTML en un documento PDF, manteniendo todo el estilo y el diseño. Las RenderingOptions permiten controlar los márgenes, activar la ejecución de JavaScript y configurar otras propiedades de visualización. Este renderizado del lado del servidor asegura una salida consistente independientemente del navegador o dispositivo del usuario.

Las páginas PDF generadas preservan los elementos de diseño adaptable de tu vista, adaptando automáticamente el contenido para una visualización óptima. Para maquetaciones complejas, también puede añadir encabezados y pies de página para crear documentos profesionales. Esta es una solución muy liviana en comparación con la mayoría de las alternativas del lado del cliente.

Salida de la vista renderizada

Creación de un visor de PDF ASP.NET MVC con IronPDF: Image 2 - View rendered to PDF then displayed in our PDF viewer browser app (Imagen 2 - Vista convertida a PDF y mostrada en nuestra aplicación de navegador de visor de PDF)

¿Qué funciones puede añadir a su visor de PDF?

Las implementaciones modernas de control de visor de PDF requieren funciones interactivas más allá de la visualización básica. IronPDF permite automáticamente capacidades de selección y búsqueda de texto al renderizar archivos PDF. Los usuarios pueden resaltar y copiar contenido directamente del documento mostrado. Estas características mejoran la experiencia del usuario y hacen que tu visor de PDF ASP.NET MVC sea más funcional.

public FileResult ViewPdfWithFeatures(int documentId = 1)
{
    // Load the PDF document object
    var PDF = LoadPdfDocument(documentId);
    if (PDF == null)
    {
        // Handle file not found (returns nothing, which will result in a 404 or empty response)
        return null;
    }
    PDF.SecuritySettings.AllowUserFormData = true;
    PDF.Bookmarks.AddBookMarkAtStart("Table of Contents", 1);
    PDF.Bookmarks.AddBookMarkAtStart("Chapter 1", 5);
    // Configure viewer toolbar
    Response.Headers.Add("Content-Disposition",
                        "inline; filename=document.pdf#toolbar=1");
    // return File (pdf.BinaryData, "application/pdf");
    return File(PDF.BinaryData, "application/pdf");
}
public FileResult ViewPdfWithFeatures(int documentId = 1)
{
    // Load the PDF document object
    var PDF = LoadPdfDocument(documentId);
    if (PDF == null)
    {
        // Handle file not found (returns nothing, which will result in a 404 or empty response)
        return null;
    }
    PDF.SecuritySettings.AllowUserFormData = true;
    PDF.Bookmarks.AddBookMarkAtStart("Table of Contents", 1);
    PDF.Bookmarks.AddBookMarkAtStart("Chapter 1", 5);
    // Configure viewer toolbar
    Response.Headers.Add("Content-Disposition",
                        "inline; filename=document.pdf#toolbar=1");
    // return File (pdf.BinaryData, "application/pdf");
    return File(PDF.BinaryData, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Esta aplicación permite rellenar formularios y enviar datos de formularios PDF directamente desde el navegador. Los marcadores añadidos crean una estructura navegable para facilitar la navegación por documentos largos. El parámetro de barra de herramientas incorporado en el encabezado Content-Disposition asegura que las herramientas del navegador para hacer zoom, imprimir y descargar estén accesibles para los usuarios.

Estas características transforman una visualización básica en un visor de PDF ASP.NET MVC integral que soporta la interacción completa con documentos. Para escenarios avanzados, explore las capacidades de anotación de IronPDF para añadir comentarios y anotaciones a sus páginas PDF. Utiliza atajos de teclado como Ctrl + F para buscar rápidamente las ocurrencias del texto.

Resultado

Creación de un visor de PDF ASP.NET MVC con IronPDF: Imagen 3 - PDF cargado con contorno de marcador añadido

¿Cómo proteger el control del visor de PDF?

La seguridad es crucial al implementar un visor de PDF en tu aplicación web. IronPDF proporciona múltiples capas de protección para documentos PDF sensibles. Según las mejores prácticas de seguridad de Microsoft, el procesamiento del lado del servidor ofrece un mejor control que las bibliotecas del lado del cliente.

public FileResult SecurePdfView(string documentId)
{
    var PDF = GenerateConfidentialPdf();
    // Apply security settings
    PDF.SecuritySettings.UserPassword = "MySecretPassword";
    PDF.SecuritySettings.OwnerPassword = "OwnerSecretPassword";
    PDF.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
    PDF.SecuritySettings.AllowUserCopyPasteContent = false;
    PDF.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit;
    // Prevent unauthorized downloads
    Response.Headers.Add("X-Frame-Options", "SAMEORIGIN");
    Response.Headers.Add("Content-Security-Policy",
                        "frame-ancestors 'self'");
    return File(PDF.BinaryData, "application/pdf");
}
public FileResult SecurePdfView(string documentId)
{
    var PDF = GenerateConfidentialPdf();
    // Apply security settings
    PDF.SecuritySettings.UserPassword = "MySecretPassword";
    PDF.SecuritySettings.OwnerPassword = "OwnerSecretPassword";
    PDF.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
    PDF.SecuritySettings.AllowUserCopyPasteContent = false;
    PDF.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit;
    // Prevent unauthorized downloads
    Response.Headers.Add("X-Frame-Options", "SAMEORIGIN");
    Response.Headers.Add("Content-Security-Policy",
                        "frame-ancestors 'self'");
    return File(PDF.BinaryData, "application/pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Estas medidas de seguridad protegen tus archivos PDF de acceso y distribución no autorizados. La protección por contraseña requiere autenticación antes de la visualización, mientras que la configuración de permisos evita la copia o impresión de contenido sensible. Los encabezados de seguridad impiden incrustar tu control de visor de PDF en sitios externos no autorizados. Esto es especialmente útil al proteger documentos confidenciales.

Para obtener más opciones de seguridad, consulte la documentación sobre contraseñas y permisos de IronPDF.

Conclusión

IronPDF transforma las aplicaciones ASP.NET MVC en potentes sistemas de gestión de documentos gracias a sus completas funciones de visor de PDF. Desde la visualización básica de archivos hasta funciones avanzadas como el llenado de formularios y la búsqueda de texto, puedes construir un control de visor de PDF MVC profesional que cumpla con los requisitos de las aplicaciones web modernas. El procesamiento del lado del servidor garantiza un renderizado consistente en todas las plataformas mientras mantiene la seguridad y el control sobre tus documentos PDF. Ya sea que necesites mostrar archivos PDF, crear informes dinámicos o agregar elementos de interfaz de usuario interactivos, IronPDF proporciona las herramientas y la documentación para respaldar tu proceso de desarrollo.

¿Listo para implementar tu propio visor de PDF ASP.NET MVC? Inicie su prueba gratuita y explore el conjunto completo de funciones de IronPDF con nuestra completa documentación. Para ver ejemplos prácticos, consulte nuestros muestras de código y tutoriales. ¿Necesita funciones empresariales? Vea nuestras opciones de licencia para elegir el plan adecuado para su equipo.

Preguntas Frecuentes

¿Cómo puedo crear un visor de PDF en ASP.NET MVC sin bibliotecas complejas?

Puede utilizar IronPDF para crear un sólido visor de PDF para sus aplicaciones ASP.NET MVC. Le permite mostrar archivos PDF y generar documentos PDF dinámicos directamente desde sus vistas sin necesidad de complejas bibliotecas JavaScript o controles de visor de terceros.

¿Qué características ofrece IronPDF para aplicaciones ASP.NET MVC?

IronPDF ofrece funciones como la visualización de documentos PDF, la conversión de vistas a PDF y la adición de elementos interactivos para mejorar la funcionalidad de sus aplicaciones ASP.NET MVC.

¿Puede IronPDF gestionar la conversión de vistas a PDF en ASP.NET MVC?

Sí, IronPDF puede convertir vistas en documentos PDF, lo que facilita la generación de archivos PDF directamente desde sus vistas ASP.NET MVC.

¿Es posible añadir funciones interactivas a los PDF en ASP.NET MVC utilizando IronPDF?

Por supuesto, IronPDF le permite añadir funciones interactivas a sus documentos PDF, mejorando la participación del usuario dentro de sus aplicaciones ASP.NET MVC.

¿Necesito plugins adicionales para mostrar archivos PDF en ASP.NET MVC con IronPDF?

No, con IronPDF no necesita plugins adicionales ni controles de visor de terceros para mostrar archivos PDF en sus aplicaciones ASP.NET MVC.

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