Saltar al pie de página
USANDO IRONPDF

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

How to Create an ASP.NET MVC PDF Viewer

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, puedes crear un potente control de visor de PDF MVC que gestiona todo, desde mostrar archivos PDF hasta generar documentos PDF dinámicos directamente desde tus 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 tu primer archivo, toma nota de nuestra documentación exhaustiva.

Descarga IronPDF y descubre lo fácil que es construir tu propio control de visor de PDF .NET MVC con solo unas pocas líneas de código.

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

Configurar tu visor de PDF basado en ASP comienza con la instalación de IronPDF a través del Administrador de Paquetes NuGet. 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 una guía detallada de instalación, consulta 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 el componente central para tu 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, explora las 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 ofrece un mejor control que la incrustación de complementos. También funciona bien con lectores de pantalla.

Resultado PDF

Cómo Crear un Visor de PDF ASP.NET MVC: Figura 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. Descubre más sobre cómo 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 tu vista CSHTML en un documento PDF, manteniendo todo el estilo y diseño. Las RenderingOptions te permiten controlar los márgenes, habilitar 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 diseños complejos, también puedes agregar 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

Cómo Crear un Visor de PDF ASP.NET MVC: Figura 2 - Vista renderizada a PDF y luego mostrada en nuestra aplicación de navegador de visor 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");
}
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");
}
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, explora las capacidades de anotación de IronPDF para agregar comentarios y anotaciones a tus páginas PDF. Usa atajos de teclado como Ctrl + F para buscar rápidamente ocurrencias de texto.

Resultado

Cómo Crear un Visor de PDF ASP.NET MVC: Figura 3 - PDF cargado con índice de marcadores 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 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 opciones de seguridad adicionales, explora la documentación sobre contraseñas y permisos de IronPDF.

Conclusión

IronPDF transforma aplicaciones ASP.NET MVC en potentes sistemas de gestión documental con sus amplias capacidades 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 para elegir el plan adecuado para su equipo.

Preguntas Frecuentes

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

Para crear un visor de PDF en ASP.NET MVC, puedes usar IronPDF para mostrar documentos PDF directamente en tu aplicación. IronPDF proporciona las herramientas para renderizar y manipular PDFs de forma fluida dentro de un proyecto ASP.NET MVC.

¿Cuáles son los beneficios de usar IronPDF para la generación de PDFs en ASP.NET MVC?

IronPDF simplifica la generación de PDFs permitiendo a los desarrolladores convertir vistas HTML en documentos PDF con facilidad. Soporta varias funciones interactivas, lo que lo hace ideal para crear contenido PDF dinámico directamente desde aplicaciones ASP.NET MVC.

¿Puede IronPDF convertir vistas de ASP.NET MVC en documentos PDF?

Sí, IronPDF puede convertir vistas de ASP.NET MVC en documentos PDF. Esta característica permite renderizar tus diseños de páginas web como PDFs, preservando la integridad del diseño y el contenido.

¿Es posible añadir funciones interactivas a PDFs en aplicaciones ASP.NET MVC?

IronPDF soporta la adición de funciones interactivas a PDFs, como campos de formulario, anotaciones y acciones de JavaScript, mejorando el compromiso del usuario dentro de aplicaciones ASP.NET MVC.

¿Cómo maneja IronPDF el renderizado de documentos PDF en ASP.NET MVC?

IronPDF utiliza capacidades avanzadas de renderizado para asegurar que los documentos PDF se muestren con precisión en aplicaciones ASP.NET MVC, manteniendo alta fidelidad con el diseño original del documento.

¿Con qué formatos de archivo puede trabajar IronPDF en ASP.NET MVC?

IronPDF maneja principalmente archivos PDF, pero también puede convertir HTML, ASPX y otros formatos de páginas web en PDFs, haciéndolo versátil para el desarrollo ASP.NET MVC.

¿Puede IronPDF integrarse con proyectos ASP.NET MVC existentes?

Sí, IronPDF puede integrarse fácilmente en proyectos ASP.NET MVC existentes, permitiendo a los desarrolladores mejorar sus aplicaciones con capacidades robustas de visualización y generación de PDFs.

¿Qué tipo de soporte ofrece IronPDF para desarrolladores que usan ASP.NET MVC?

IronPDF proporciona extensa documentación y soporte para desarrolladores, incluyendo tutoriales y referencias de API, para asegurar una integración y uso fluidos dentro de proyectos 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