Cómo crear un visor de PDF de ASP.NET Core
Crear un visor de PDF de ASP.NET Core no debería requerir bibliotecas complejas de JavaScript o complementos de navegador de terceros. Las aplicaciones web modernas necesitan una manera confiable de mostrar archivos PDF directamente en el navegador, ya sea para facturas, informes o documentos PDF interactivos. IronPDF simplifica este proceso aprovechando las capacidades del visor de PDF integrado de tu navegador mientras genera archivos PDF perfectos en el servidor.
En este artículo, te guiaremos a través de cómo generar y ver documentos PDF dentro de tus proyectos de ASP.NET Core, mostrando cómo crear aplicaciones de visor de PDF que puedan mostrar cualquier PDF.
¿Qué es un visor de PDF ASP.NET Core?
Un visor de PDF de ASP.NET Core permite a los usuarios ver documentos PDF directamente dentro de aplicaciones web sin descargar archivos a su dispositivo. En lugar de lidiar con componentes de visualización de documentos basados en JavaScript, IronPDF adopta un enfoque sorprendentemente simple: genera archivos PDF de alta calidad en el servidor usando el motor de renderizado de Chrome, y luego los sirve con los encabezados correctos para que los navegadores muestren automáticamente los archivos PDF en línea.
Este enfoque del lado del servidor significa que tu visor de PDF de ASP.NET Core funciona de manera consistente en todos los navegadores sin complementos adicionales como Adobe Acrobat Reader. Dado que IronPDF utiliza el mismo motor de Chrome que impulsa millones de navegadores, tus documentos PDF se renderizan exactamente como se planeó, preservando estilos CSS, interacciones de JavaScript y diseños complejos. La integración de PDF de ASP.NET Core maneja todo, desde la conversión de HTML a PDF hasta la entrega segura de documentos con soporte a largo plazo.
¿Cómo instalar IronPDF en su aplicación web?
Instalar IronPDF en tu aplicación web .NET Core requiere solo un comando del Administrador de Paquetes de NuGet. Abre tu Consola del Administrador de Paquetes en Visual Studio y ejecuta:
Install-Package IronPdf
Después de la instalación, configure IronPDF en su archivo Program.cs para configurar su clave de licencia:
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Start with a free trial key
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Start with a free trial key
Imports IronPdf
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY" ' Start with a free trial key
Esta configuración simple te da acceso a todas las funcionalidades del visor de PDF de .NET Core de IronPDF. La biblioteca maneja automáticamente la implementación del motor de Chrome y proporciona una API limpia para generar y mostrar archivos PDF en tus aplicaciones ASP.NET Core.
¿Cómo crear un visor básico de documentos PDF?
Crear tu primer visor de PDF de ASP.NET Core requiere un código mínimo. Aquí tienes un controlador que convierte contenido HTML en un documento PDF visible:
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class PdfController : Controller
{
public IActionResult ViewDocument()
{
var renderer = new ChromePdfRenderer();
// Create PDF from HTML string
var html = @"
<html>
<body style='font-family: Arial; padding: 20px;'>
<h1>Invoice #2024-001</h1>
<p>This PDF document is displayed directly in your browser.</p>
<table style='width: 100%; border-collapse: collapse;'>
<tr>
<td style='border: 1px solid #ddd; padding: 8px;'>Item</td>
<td style='border: 1px solid #ddd; padding: 8px;'>Price</td>
</tr>
<tr>
<td style='border: 1px solid #ddd; padding: 8px;'>Service</td>
<td style='border: 1px solid #ddd; padding: 8px;'>$99.00</td>
</tr>
</table>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(html);
// Return PDF for inline viewing
Response.Headers.Add("Content-Disposition", "inline; filename=invoice.pdf");
return File(pdf.BinaryData, "application/pdf");
}
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
public class PdfController : Controller
{
public IActionResult ViewDocument()
{
var renderer = new ChromePdfRenderer();
// Create PDF from HTML string
var html = @"
<html>
<body style='font-family: Arial; padding: 20px;'>
<h1>Invoice #2024-001</h1>
<p>This PDF document is displayed directly in your browser.</p>
<table style='width: 100%; border-collapse: collapse;'>
<tr>
<td style='border: 1px solid #ddd; padding: 8px;'>Item</td>
<td style='border: 1px solid #ddd; padding: 8px;'>Price</td>
</tr>
<tr>
<td style='border: 1px solid #ddd; padding: 8px;'>Service</td>
<td style='border: 1px solid #ddd; padding: 8px;'>$99.00</td>
</tr>
</table>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(html);
// Return PDF for inline viewing
Response.Headers.Add("Content-Disposition", "inline; filename=invoice.pdf");
return File(pdf.BinaryData, "application/pdf");
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Public Class PdfController
Inherits Controller
Public Function ViewDocument() As IActionResult
Dim renderer = New ChromePdfRenderer()
' Create PDF from HTML string
Dim html = "
<html>
<body style='font-family: Arial; padding: 20px;'>
<h1>Invoice #2024-001</h1>
<p>This PDF document is displayed directly in your browser.</p>
<table style='width: 100%; border-collapse: collapse;'>
<tr>
<td style='border: 1px solid #ddd; padding: 8px;'>Item</td>
<td style='border: 1px solid #ddd; padding: 8px;'>Price</td>
</tr>
<tr>
<td style='border: 1px solid #ddd; padding: 8px;'>Service</td>
<td style='border: 1px solid #ddd; padding: 8px;'>$99.00</td>
</tr>
</table>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
' Return PDF for inline viewing
Response.Headers.Add("Content-Disposition", "inline; filename=invoice.pdf")
Return File(pdf.BinaryData, "application/pdf")
End Function
End Class
La clase ChromePdfRenderer maneja el procesamiento de conversión, transformando su HTML en un documento PDF. Al configurar el encabezado Content-Disposition en "inline", se le indica al navegador que muestre el PDF en lugar de descargarlo, lo que crea una experiencia de visualización de PDF perfecta donde los usuarios pueden ver archivos PDF directamente en su aplicación web.
Documento PDF de salida en el visor del navegador

¿Cómo mostrar archivos PDF de distintas fuentes?
Tu visor de PDF de ASP.NET Core puede generar archivos PDF desde múltiples fuentes de paquetes. Aquí tienes cómo convertir una URL en un PDF visible:
public IActionResult ViewFromUrl(string websiteUrl)
{
var renderer = new ChromePdfRenderer();
// Configure rendering options
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay = 2000; // Wait for content to load
var pdf = renderer.RenderUrlAsPdf(websiteUrl);
Response.Headers.Add("Content-Disposition", "inline");
return File(pdf.BinaryData, "application/pdf");
}
public IActionResult ViewFromUrl(string websiteUrl)
{
var renderer = new ChromePdfRenderer();
// Configure rendering options
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay = 2000; // Wait for content to load
var pdf = renderer.RenderUrlAsPdf(websiteUrl);
Response.Headers.Add("Content-Disposition", "inline");
return File(pdf.BinaryData, "application/pdf");
}
Imports IronPdf
Public Function ViewFromUrl(websiteUrl As String) As IActionResult
Dim renderer As New ChromePdfRenderer()
' Configure rendering options
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay = 2000 ' Wait for content to load
Dim pdf = renderer.RenderUrlAsPdf(websiteUrl)
Response.Headers.Add("Content-Disposition", "inline")
Return File(pdf.BinaryData, "application/pdf")
End Function
Resultado

Para los archivos PDF existentes almacenados en el servidor, puedes cargarlos y mostrarlos fácilmente. Este código de muestra muestra cómo trabajar con archivos en su carpeta wwwroot:
public IActionResult ViewExistingPdf(string fileName)
{
// Load PDF from wwwroot folder
var pdfPath = Path.Combine(_webHostEnvironment.WebRootPath, "documents", fileName);
var pdf = PdfDocument.FromFile(pdfPath);
// Optional: Add modifications like watermarks
pdf.ApplyWatermark("<h2 style='color: red; opacity: 0.5;'>CONFIDENTIAL</h2>");
return File(pdf.BinaryData, "application/pdf");
}
public IActionResult ViewExistingPdf(string fileName)
{
// Load PDF from wwwroot folder
var pdfPath = Path.Combine(_webHostEnvironment.WebRootPath, "documents", fileName);
var pdf = PdfDocument.FromFile(pdfPath);
// Optional: Add modifications like watermarks
pdf.ApplyWatermark("<h2 style='color: red; opacity: 0.5;'>CONFIDENTIAL</h2>");
return File(pdf.BinaryData, "application/pdf");
}
Public Function ViewExistingPdf(fileName As String) As IActionResult
' Load PDF from wwwroot folder
Dim pdfPath = Path.Combine(_webHostEnvironment.WebRootPath, "documents", fileName)
Dim pdf = PdfDocument.FromFile(pdfPath)
' Optional: Add modifications like watermarks
pdf.ApplyWatermark("<h2 style='color: red; opacity: 0.5;'>CONFIDENTIAL</h2>")
Return File(pdf.BinaryData, "application/pdf")
End Function

Esta flexibilidad significa que su visor de PDF puede manejar tanto contenido generado dinámicamente como documentos PDF existentes almacenados en su carpeta o base de datos wwwroot. El componente se integra perfectamente con tu arquitectura de ASP.NET Core.
¿Cómo se pueden añadir funciones avanzadas al visor de PDF?
IronPDF transforma tu visor de PDF básico en un visor de documentos poderoso con capacidades avanzadas. Agregar formularios a tus archivos PDF permite una funcionalidad interactiva que los usuarios pueden completar directamente:
public IActionResult CreateFormPdf()
{
var html = @"
<html>
<body>
<h2>Application Form</h2>
<form>
Name:
<br><br>
Email:
<br><br>
<input type='checkbox'> I agree to terms
</form>
</body>
</html>";
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true; // Enable form fields
var pdf = renderer.RenderHtmlAsPdf(html);
return File(pdf.BinaryData, "application/pdf");
}
public IActionResult CreateFormPdf()
{
var html = @"
<html>
<body>
<h2>Application Form</h2>
<form>
Name:
<br><br>
Email:
<br><br>
<input type='checkbox'> I agree to terms
</form>
</body>
</html>";
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true; // Enable form fields
var pdf = renderer.RenderHtmlAsPdf(html);
return File(pdf.BinaryData, "application/pdf");
}
Public Function CreateFormPdf() As IActionResult
Dim html As String = "
<html>
<body>
<h2>Application Form</h2>
<form>
Name:
<br><br>
Email:
<br><br>
<input type='checkbox'> I agree to terms
</form>
</body>
</html>"
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True ' Enable form fields
Dim pdf = renderer.RenderHtmlAsPdf(html)
Return File(pdf.BinaryData, "application/pdf")
End Function
Salida con formulario rellenable

Cuando los usuarios abren este PDF en su navegador, pueden completar los formularios directamente sin necesidad de herramientas externas. También puedes editar archivos PDF agregando encabezados, pies de página, números de página o firmas digitales. El enfoque de ayuda de etiquetas facilita la adición de estas características:
// Add headers and page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align: center;'>Company Report</div>",
MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align: center;'>Page {page} of {total-pages}</div>",
MaxHeight = 25
};
// Add headers and page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align: center;'>Company Report</div>",
MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
HtmlFragment = "<div style='text-align: center;'>Page {page} of {total-pages}</div>",
MaxHeight = 25
};
Imports System
' Add headers and page numbers
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
.HtmlFragment = "<div style='text-align: center;'>Company Report</div>",
.MaxHeight = 25
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.HtmlFragment = "<div style='text-align: center;'>Page {page} of {total-pages}</div>",
.MaxHeight = 25
}
Estas características transforman tu visor de PDF de ASP.NET en una solución integral para el manejo de documentos, apoyando todo, desde la simple visualización hasta operaciones de edición complejas, incluyendo la selección de texto y la funcionalidad de impresión. Incluso puedes trabajar con otros formatos como Excel, Word, archivos DOCX y PowerPoint a través de las capacidades de conversión de IronPDF.
Conclusión
Crear un visor de PDF de ASP.NET Core con IronPDF elimina la complejidad de las soluciones basadas en JavaScript mientras proporciona un manejo de documentos PDF de calidad profesional. Aprovechando las capacidades nativas del navegador y el motor de renderizado de Chrome, puedes crear, mostrar y gestionar archivos PDF con solo unas pocas líneas de código: sin configuraciones por defecto ni configuraciones complejas requeridas.
La combinación de generación del lado del servidor y visualización basada en el navegador proporciona el equilibrio perfecto de soporte, rendimiento y experiencia del usuario para tus aplicaciones web. Ya sea que necesites mostrar archivos PDF, manejar formularios, editar documentos existentes o imprimir PDFs, la sencilla API de IronPDF facilita la implementación. La biblioteca se actualiza con frecuencia para garantizar la compatibilidad con los últimos marcos .NET y entornos de Windows.
¿Listo para construir tu propio visor de PDF en tu proyecto ASP.NET Core? Comienza con una prueba gratuita para encontrar el plan adecuado. ¿Necesitas ayuda para comenzar? Consulta este tutorial detallado o explora la documentación completa para más ejemplos.
Preguntas Frecuentes
¿Cuál es el propósito de un visor de PDF ASP.NET Core?
Un visor de PDF ASP.NET Core le permite mostrar archivos PDF directamente en el navegador, facilitando a los usuarios ver documentos como facturas, informes o PDFs interactivos sin necesidad de complementos externos.
¿Cómo simplifica IronPDF la creación de un visor de PDF en ASP.NET Core?
IronPDF simplifica el proceso aprovechando las capacidades de visor de PDF integradas del navegador y generando PDFs perfectamente detallados en el lado del servidor, eliminando la necesidad de bibliotecas de JavaScript complejas o complementos de terceros.
¿Puede IronPDF manejar documentos PDF interactivos?
Sí, IronPDF puede gestionar documentos PDF interactivos, permitiendo a los usuarios rellenar formularios e interactuar con contenido PDF directamente en el navegador.
¿Cuáles son los beneficios de usar IronPDF para mostrar PDFs en aplicaciones web?
IronPDF proporciona una manera confiable y eficiente de mostrar PDFs en aplicaciones web, ofreciendo características como generación de PDF en el lado del servidor e integración perfecta con aplicaciones ASP.NET Core.
¿Es necesario usar complementos de navegador de terceros con IronPDF?
No, IronPDF utiliza las capacidades de visor de PDF integradas del navegador, por lo que no hay necesidad de complementos de navegador de terceros para mostrar archivos PDF.
¿Qué tipos de documentos PDF pueden mostrarse con un visor de PDF ASP.NET Core?
Un visor de PDF ASP.NET Core puede mostrar varios tipos de documentos PDF, incluidos facturas, informes y formularios interactivos, directamente en el navegador.
¿IronPDF soporta la generación de PDF en el lado del servidor?
Sí, IronPDF soporta la generación de PDF en el lado del servidor, asegurando que los documentos se rendericen de manera precisa y eficiente antes de ser mostrados en el navegador.
¿Cómo asegura IronPDF un renderizado de PDF perfecto?
IronPDF asegura una renderización de PDF perfectamente detallada utilizando algoritmos avanzados y técnicas para reproducir fielmente la apariencia de documentos generados en el lado del servidor.
¿Qué lenguaje de programación se utiliza para construir un visor de PDF ASP.NET Core con IronPDF?
El visor de PDF ASP.NET Core se construye utilizando C# y el marco ASP.NET Core, aprovechando IronPDF para manejar el procesamiento y la visualización de PDF.


