USO DE IRONPDF

Cómo mostrar un archivo PDF en ASP.NET Core

Actualizado 22 de julio, 2023
Compartir:

Los archivos PDF se utilizan mucho para compartir documentos y visualizar datos. En las aplicaciones web, a menudo es necesario mostrar archivos PDF a los usuarios directamente en el navegador. La aplicación ASP.NET Core ofrece varias opciones para lograr esta funcionalidad, y una biblioteca popular para trabajar con archivos PDF es IronPDF.

IronPDF es una potente biblioteca .NET que permite a los desarrolladores crear, editar y manipular archivos PDF con facilidad. Este artículo va a explorar cómo utilizar IronPDF para mostrar archivos PDF en una aplicación ASP.NET Core visor de PDF. Cubrirá los pasos para configurar los componentes necesarios y proporcionará lógica de ejemplo para demostrar la integración del visor de PDF de ASP.NET Core.

Configuración del entorno

Para empezar, asegúrate de que tienes los siguientes requisitos previos:

  1. Visual Studio: Instale la última versión de Visual Studio o cualquier otro entorno de desarrollo integrado compatible. (IDE) de su elección.
  2. Biblioteca IronPDF: Obtenga la biblioteca IronPDF del sitio web oficial o a través de NuGet Package Manager.

    Cómo mostrar un archivo PDF en ASP.NET Core, Figura 1: Gestor de paquetes NuGet

     **Gestor de paquetes NuGet**
  3. Aplicación .NET Core: Asegúrese de tener una comprensión básica de ASP.NET Core y tenerlo instalado en su máquina de desarrollo.

    Una vez que haya configurado el entorno, vamos a sumergirnos en los pasos para mostrar archivos PDF utilizando IronPDF en una aplicación ASP.NET Core.

Crear un nuevo proyecto

  1. Abra Visual Studio y cree un nuevo proyecto ASP.NET Core Web App.

    Cómo mostrar un archivo PDF en ASP.NET Core, Figura 2: Aplicación web

     **Aplicación web**
  2. Seleccione la plantilla "ASP.NET Core Web App".

    Cómo mostrar un archivo PDF en ASP.NET Core, Figura 3: .NET Framework

     **.NET Framework**
  3. Elija la configuración del proyecto que desee y haga clic en "Crear" para generar el nuevo proyecto.

Añadir la biblioteca IronPDF

Para utilizar IronPDF en su proyecto, debe añadir la referencia a la biblioteca IronPDF.

  1. Haga clic con el botón derecho en el proyecto en el Explorador de soluciones y seleccione "Administrar paquetes NuGet para la solución..."

    Cómo mostrar un archivo PDF en ASP.NET Core, Figura 4: Gestor de paquetes NuGet

     **Gestor de paquetes NuGet**
  2. Busque "IronPDF" en el gestor de paquetes NuGet e instale la última versión del paquete.

    Cómo mostrar un archivo PDF en ASP.NET Core, Figura 5: Gestor de paquetes NuGet - Explorador de soluciones

     **NuGet Package Manager - Explorador de soluciones**

Crear PDF utilizando una página web ASP.NET Core

Para crear un PDF a partir de una página web ASP.NET Core desde el lado del servidor, siga estos pasos:

Cómo mostrar un archivo PDF en ASP.NET Core, Figura 6: Gestor de paquetes NuGet - Explorador de soluciones

Solución Explorador

Paso 1 Añadir el espacio de nombres IronPDF

Abra la ruta del archivo de origen de la página web ASP.NET Core que desea convertir en PDF. En el archivo code-behind (Index.cshtml.cs)añade el espacio de nombres IronPdf en la parte superior:

using IronPdf;
using IronPdf;
Imports IronPdf
VB   C#

Paso 2 Convertir página Razer a PDF

Dentro de la función OnGet, añade el siguiente código:

public FileContentResult OnGet()
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderRazorToPdf(this);

    Response.Headers.Add("Content-Disposition", "inline");
    //  Ver PDF de salida en broswer
    return File(pdf.BinaryData, "application/pdf");
}
public FileContentResult OnGet()
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderRazorToPdf(this);

    Response.Headers.Add("Content-Disposition", "inline");
    //  Ver PDF de salida en broswer
    return File(pdf.BinaryData, "application/pdf");
}
Public Function OnGet() As FileContentResult
	Dim renderer As New ChromePdfRenderer()
	Dim pdf As PdfDocument = renderer.RenderRazorToPdf(Me)

	Response.Headers.Add("Content-Disposition", "inline")
	'  Ver PDF de salida en broswer
	Return File(pdf.BinaryData, "application/pdf")
End Function
VB   C#

Con sólo una línea de código, la página Razer se convertirá en un documento PDF utilizando el método de extensión RenderRazorToPdf.

Para ello, es necesario IronPdf.Extensions.Razor desde la página oficial de NuGet a instalar.

Paso 3 Visualizar o descargar el PDF

Por defecto, el código mostrará el documento PDF en el navegador. Si desea descargar el PDF en su lugar, modifique el código como se indica a continuación:

return File(pdf.BinaryData, "application/pdf", "razorPageToPDF.pdf");
return File(pdf.BinaryData, "application/pdf", "razorPageToPDF.pdf");
Return File(pdf.BinaryData, "application/pdf", "razorPageToPDF.pdf")
VB   C#

Este código descargará el archivo PDF de la página web ASP.NET en su carpeta local "Descargas".

Cómo mostrar un archivo PDF en ASP.NET Core, Figura 7: Página ASPX a PDF

Razor Page to PDF

Cargar y mostrar un archivo PDF en ASP.NET Core

A continuación, esta sección explorará diferentes enfoques para generar archivos PDF utilizando IronPDF y mostrarlos en una aplicación ASP.NET Core.

Generar PDF a partir de URL

IronPDF simplifica el proceso de creación de un documento PDF generando un archivo HTML a partir de una URL (Servicios HTTP) y convertirlo en PDF. El siguiente código muestra cómo generar un archivo PDF a partir de una URL:

using var pdf = new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/");

//Leer el fichero como matriz de bytes.
byte[] bytes = pdf.BinaryData;

//Convertir el archivo en una cadena Base64 y enviarla al cliente.
string base64 = Convert.ToBase64String(bytes, 0, bytes.Length); //cadena pública
return Content(base64);
using var pdf = new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/");

//Leer el fichero como matriz de bytes.
byte[] bytes = pdf.BinaryData;

//Convertir el archivo en una cadena Base64 y enviarla al cliente.
string base64 = Convert.ToBase64String(bytes, 0, bytes.Length); //cadena pública
return Content(base64);
Dim pdf = (New IronPdf.ChromePdfRenderer()).RenderUrlAsPdf("https://www.google.co.in/")

'Leer el fichero como matriz de bytes.
Dim bytes() As Byte = pdf.BinaryData

'Convertir el archivo en una cadena Base64 y enviarla al cliente.
Dim base64 As String = Convert.ToBase64String(bytes, 0, bytes.Length) 'cadena pública
Return Content(base64)
VB   C#

En el código anterior, IronPDF's Renderizador de PDF cromado se utiliza para renderizar el contenido HTML de la URL especificada y convertirlo en un documento PDF. A continuación, el documento PDF se convierte en una matriz de bytes y se envía al cliente como una cadena base64.

Generar PDF a partir de cadena HTML

IronPDF ofrece un método eficaz para transformar cadenas HTML en documentos PDF. El siguiente fragmento de código muestra cómo generar un archivo PDF a partir de una cadena:

using var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>");
using var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>");
Dim pdf = (New IronPdf.ChromePdfRenderer()).RenderHtmlAsPdf("<h1>Hello world!!</h1>")
VB   C#

En el ejemplo anterior, el RenderHtmlAsPdf se utiliza para representar la cadena HTML y convertirla en un documento PDF. El PDF resultante puede procesarse o guardarse según los requisitos de la aplicación.

Cómo mostrar un archivo PDF en ASP.NET Core, Figura 8: Salida de la aplicación web

Salida de aplicaciones web

Generar PDF a partir de archivos HTML

IronPDF también permite transformar archivos HTML o CSS en archivos Documentos PDF. El siguiente código muestra cómo generar un archivo PDF a partir de un archivo HTML:

using var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("demo.html"); //utilizando la cadena filename
byte[] bytes = PDF.BinaryData; //archivo var
using var PDF = new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("demo.html"); //utilizando la cadena filename
byte [] bytes = PDF.BinaryData; //archivo var
string base64 = Convert.ToBase64String(bytes, 0, bytes.Length);
return Content(base64);
using var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("demo.html"); //utilizando la cadena filename
byte[] bytes = PDF.BinaryData; //archivo var
using var PDF = new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("demo.html"); //utilizando la cadena filename
byte [] bytes = PDF.BinaryData; //archivo var
string base64 = Convert.ToBase64String(bytes, 0, bytes.Length);
return Content(base64);
Dim pdf = (New IronPdf.ChromePdfRenderer()).RenderHtmlFileAsPdf("demo.html") 'utilizando la cadena filename
Dim bytes() As Byte = PDF.BinaryData 'archivo var
Dim Me.PDF = (New IronPdf.ChromePdfRenderer()).RenderHtmlFileAsPdf("demo.html") 'utilizando la cadena filename
Dim bytes() As Byte = Me.PDF.BinaryData 'archivo var
Dim base64 As String = Convert.ToBase64String(bytes, 0, bytes.Length)
Return Content(base64)
VB   C#

En el fragmento de código anterior, el RenderHtmlFileAsPdf se utiliza para renderizar el contenido HTML del nombre de archivo especificado y convertirlo en un documento PDF. El PDF resultante se convierte en una matriz de bytes y se envía al cliente como una cadena base64.

Cómo mostrar un archivo PDF en ASP.NET Core: Figura 9 - Añadir una nueva página web

Conversión de formularios web ASP.NET a un archivo PDF con IronPDF desde la API web ASP.NET

Puede convertir fácilmente formularios web ASP.NET a formato PDF utilizando una sola línea de código en lugar de HTML. Coloque este código en el método Page_Load del archivo code-behind de la página para mostrarlo en la página.

Importar el espacio de nombres `IronPdf

Utiliza la palabra clave using para importar el espacio de nombres IronPdf en tu archivo code-behind.

using IronPdf;
using System;
using System.Web.UI;
using IronPdf;
using System;
using System.Web.UI;
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Convertir ASP.NET *Web Form a PDF

En el archivo code-behind de la página que desea convertir a PDF (por ejemplo, Default.aspx.cs)añade el siguiente código:

namespace WebApplication7
{
    public partial class _Default : Page //cadena pública
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser); //elemento de entrada
        }
    }
}
namespace WebApplication7
{
    public partial class _Default : Page //cadena pública
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser); //elemento de entrada
        }
    }
}
Namespace WebApplication7
	Partial Public Class _Default 'cadena pública
		Inherits Page

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
			AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser) 'elemento de entrada
		End Sub
	End Class
End Namespace
VB   C#

El método RenderThisPageAsPdf de la clase AspxToPdf convertirá el formulario web en un documento PDF desde la API web.

Aplicar plantillas HTML

Para los desarrolladores de intranets y sitios web, generar PDF con plantillas suele ser un requisito habitual. IronPDF simplifica este proceso permitiéndole generar una plantilla HTML y rellenarla con datos.

He aquí un ejemplo de cómo generar varios PDF personalizados utilizando plantillas HTML e IronPDF:

string HtmlTemplate = "<p>[[NAME]]</p>";
string[] Names = { "John", "James", "Jenny" };
foreach (var name in Names)
{
    string HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);
    using (var Pdf = Renderer.RenderHtmlAsPdf(HtmlInstance))
    {
        Pdf.SaveAs(name + ".pdf");
    }
}
string HtmlTemplate = "<p>[[NAME]]</p>";
string[] Names = { "John", "James", "Jenny" };
foreach (var name in Names)
{
    string HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);
    using (var Pdf = Renderer.RenderHtmlAsPdf(HtmlInstance))
    {
        Pdf.SaveAs(name + ".pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

ASP MVC Routing Descargar la versión PDF de esta página

Si utiliza ASP.NET MVC, puede dirigir fácilmente a los usuarios a un archivo PDF. He aquí un ejemplo de cómo debe escribirse el código fuente:

using IronPdf;
using System;
using System.Web.Mvc;
namespace WebApplication8.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            ChromePdfRenderer renderer = new ChromePdfRenderer();
            using (var PDF = renderer.StaticRenderUrlAsPdf(new Uri("https://es.wikipedia.org")))
            {
                return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
            }
        }
        //  Otros métodos de acción...
    }
}
using IronPdf;
using System;
using System.Web.Mvc;
namespace WebApplication8.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            ChromePdfRenderer renderer = new ChromePdfRenderer();
            using (var PDF = renderer.StaticRenderUrlAsPdf(new Uri("https://es.wikipedia.org")))
            {
                return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
            }
        }
        //  Otros métodos de acción...
    }
}
Imports IronPdf
Imports System
Imports System.Web.Mvc
Namespace WebApplication8.Controllers
	Public Class HomeController
		Inherits Controller

		Public Function Index() As IActionResult
			Dim renderer As New ChromePdfRenderer()
			Using PDF = renderer.StaticRenderUrlAsPdf(New Uri("https://es.wikipedia.org"))
				Return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf")
			End Using
		End Function
		'  Otros métodos de acción...
	End Class
End Namespace
VB   C#

Añadir una portada a un documento PDF

Para añadir una portada o contraportada a un documento PDF existente, puede utilizar la función de fusión de IronPDF. He aquí un ejemplo:

using (var PDF = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/"))
{
    using (var Merged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), PDF))
    {
        Merged.SaveAs("Combined.Pdf");
    }
}
using (var PDF = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/"))
{
    using (var Merged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), PDF))
    {
        Merged.SaveAs("Combined.Pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Añadir una marca de agua al documento

También puede añadir una marca de agua a documentos PDF mediante código C#. He aquí un ejemplo

using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
using (var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf"))
{
    pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", PdfDocument.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
    pdf.SaveAs(@"C:\PathToWatermarked.pdf"); //cadena filepath
}
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
using (var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf"))
{
    pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", PdfDocument.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
    pdf.SaveAs(@"C:\PathToWatermarked.pdf"); //cadena filepath
}
Imports IronPdf

Private renderer As New ChromePdfRenderer()
Using pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
	pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", PdfDocument.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf")
	pdf.SaveAs("C:\PathToWatermarked.pdf") 'cadena filepath
End Using
VB   C#

Proteja su PDF con una contraseña

Puede cifrar y proteger un documento PDF con una contraseña utilizando IronPDF. He aquí un ejemplo:

using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
using (var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>"))
{
    pdfDocument.Password = "strong!@#pass&^%word";
    pdfDocument.SaveAs("secured.pdf");
}
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();
using (var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>"))
{
    pdfDocument.Password = "strong!@#pass&^%word";
    pdfDocument.SaveAs("secured.pdf");
}
Imports IronPdf

Private renderer As New ChromePdfRenderer()
Using pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>")
	pdfDocument.Password = "strong!@#pass&^%word"
	pdfDocument.SaveAs("secured.pdf")
End Using
VB   C#

Además de las funcionalidades anteriores, IronPDF ofrece otras características como extracción de imágenes y texto de PDF mediante OCR, representación de gráficos, añadir códigos de barras, mejorar la seguridad con contraseñas y marca de aguaincluso gestión de formularios PDF y mucho más. Con IronPDF, puede simplificar el proceso de creación de PDF y mejorar la presentación general de sus documentos.

Conclusión

IronPDF es una herramienta excepcional diseñada específicamente para desarrolladores .NET, que ofrece una amplia gama de funcionalidades para manejar sin esfuerzo la manipulación de PDF dentro de sus proyectos .NET. Con IronPDF, los desarrolladores pueden mejorar su flujo de trabajo y agilizar sus procesos de trabajo. Esta potente herramienta proporciona numerosas funciones que permiten formatear archivos PDF sin problemas, eliminar páginas, añadir páginas y mucho más. Permite a los desarrolladores gestionar y personalizar eficazmente documentos PDF según sus requisitos específicos.

IronPDF no sólo destaca por su funcionalidad, sino que además ofrece la ventaja añadida de ser gratuito para fines de desarrollo. Esto significa que los desarrolladores pueden aprovechar sus capacidades sin incurrir en ningún coste durante la fase de desarrollo de sus proyectos. Al utilizar IronPDF, los desarrolladores pueden mejorar su productividad y lograr resultados notables en sus tareas relacionadas con PDF, ofreciendo en última instancia soluciones eficientes y de alta calidad en sus proyectos .NET.

Existen otras muchas bibliotecas útiles, como IronPDF para trabajar con documentos PDF, IronXL para trabajar con documentos Excel e IronOCR para trabajar con OCR. Actualmente, puede obtener las cinco bibliotecas por el precio de sólo dos adquiriendo la Iron Suite completa. Visite nuestra página de licencias para más detalles.

< ANTERIOR
Cómo convertir PDF a PNG en .NET
SIGUIENTE >
Cómo mostrar texto incrustado en PDF en .NET MAUI

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,974,197 Ver licencias >
123