USO DE IRONPDF

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

Actualizado 17 de marzo, 2024
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. Las aplicaciones ASP.NET Core ofrecen 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 de la páginaSitio web oficial de IronPDF o a través del gestor de paquetes NuGet.

    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 deInstrucciones de instalación 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 la página Razor 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");
    // View output PDF on browser
    return File(pdf.BinaryData, "application/pdf");
}
public FileContentResult OnGet()
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderRazorToPdf(this);

    Response.Headers.Add("Content-Disposition", "inline");
    // View output PDF on browser
    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")
	' View output PDF on browser
	Return File(pdf.BinaryData, "application/pdf")
End Function
VB   C#

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

Para ello, elPaquete NuGet IronPDF.Extensions.Razor necesita ser instalado.

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/");

//Read the File as Byte Array.
byte[] bytes = pdf.BinaryData;

//Convert File to Base64 string and send to Client.
string base64 = Convert.ToBase64String(bytes, 0, bytes.Length); //public string
return Content(base64);
using var pdf = new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/");

//Read the File as Byte Array.
byte[] bytes = pdf.BinaryData;

//Convert File to Base64 string and send to Client.
string base64 = Convert.ToBase64String(bytes, 0, bytes.Length); //public string
return Content(base64);
Dim pdf = (New IronPdf.ChromePdfRenderer()).RenderUrlAsPdf("https://www.google.co.in/")

'Read the File as Byte Array.
Dim bytes() As Byte = pdf.BinaryData

'Convert File to Base64 string and send to Client.
Dim base64 As String = Convert.ToBase64String(bytes, 0, bytes.Length) 'public string
Return Content(base64)
VB   C#

En el código anterior, IronPDF'sdocumentación de la clase ChromePdfRenderer 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, eldetalles del método RenderHtmlAsPdf se utiliza para renderizar 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 archivosEjemplos de 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"); //using the string filename
byte[] bytes = PDF.BinaryData; //var file
using var PDF = new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("demo.html"); //using the string filename
byte[] bytes = PDF.BinaryData; //var file
string base64 = Convert.ToBase64String(bytes, 0, bytes.Length);
return Content(base64);
using var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("demo.html"); //using the string filename
byte[] bytes = PDF.BinaryData; //var file
using var PDF = new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("demo.html"); //using the string filename
byte[] bytes = PDF.BinaryData; //var file
string base64 = Convert.ToBase64String(bytes, 0, bytes.Length);
return Content(base64);
Dim pdf = (New IronPdf.ChromePdfRenderer()).RenderHtmlFileAsPdf("demo.html") 'using the string filename
Dim bytes() As Byte = PDF.BinaryData 'var file
Dim Me.PDF = (New IronPdf.ChromePdfRenderer()).RenderHtmlFileAsPdf("demo.html") 'using the string filename
Dim bytes() As Byte = Me.PDF.BinaryData 'var file
Dim base64 As String = Convert.ToBase64String(bytes, 0, bytes.Length)
Return Content(base64)
VB   C#

En el fragmento de código anterior, eldetalles de uso del método "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 un formulario web ASP.NET 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 //public string
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser); //input element
        }
    }
}
namespace WebApplication7
{
    public partial class _Default : Page //public string
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser); //input element
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
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, la generación de 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://en.wikipedia.org")))
            {
                return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
            }
        }
        // Other action methods...
    }
}
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://en.wikipedia.org")))
            {
                return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
            }
        }
        // Other action methods...
    }
}
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://en.wikipedia.org"))
				Return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf")
			End Using
		End Function
		' Other action methods...
	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"); //string 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"); //string 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") 'string 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 comoextracción de imágenes y texto con OCR de PDF,conversión de gráficos a PDF, añadir códigos de barras a PDF, mejorar la seguridad de los documentos con contraseñas ytécnicas de marca de agua para PDFinclusomanejo y personalización de formularios PDFy 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 muchas otras 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 nuestroInformación sobre licencias de Iron Software 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.12 acaba de salir

Descarga gratuita de NuGet Descargas totales: 11,622,374 Ver licencias >