USO DE IRONPDF

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

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 PDFs 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: Instala la última versión de Visual Studio o cualquier otro entorno de desarrollo integrado (IDE) compatible de tu elección.

  2. Biblioteca IronPDF: Obtén la biblioteca IronPDF desde el sitio web oficial de IronPDF o a través del Administrador de paquetes NuGet.

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

    NuGet Package Manager

  3. Aplicación .NET Core: Asegúrate de tener un conocimiento básico de las Instrucciones de Configuración de ASP.NET Core y de tenerlo instalado en tu 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: Administrador de paquetes NuGet

    NuGet Package Manager

  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: Administrador de Paquetes NuGet - Explorador de Solución

    Administrador de paquetes NuGet - 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: Administrador de paquetes NuGet - Explorador de soluciones

Explorador de soluciones

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 de código subyacente (Index.cshtml.cs), añade el espacio de nombres IronPdf en la parte superior:

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Paso 2 Convertir la página Razor a PDF

Dentro de la función OnGet, añada 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
$vbLabelText   $csharpLabel

Con solo 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 lograr esto, se necesita instalar el paquete NuGet IronPdf.Extensions.Razor.

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")
$vbLabelText   $csharpLabel

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

Página Razor a 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 crear un documento PDF al generar un archivo HTML desde una URL (servicios HTTP) y convertirlo a 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)
$vbLabelText   $csharpLabel

En el código anterior, se utiliza la Documentación de la clase ChromePdfRenderer de IronPDF para renderizar el contenido HTML desde la URL especificada y convertirlo en un documento PDF. El documento PDF se convierte luego en un array 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>")
$vbLabelText   $csharpLabel

En el ejemplo anterior, el Detalles 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 aplicación web

Salida de la aplicación web

Generar PDF a partir de archivos HTML

IronPDF también admite la transformación de archivos HTML o archivos CSS en ejemplos 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)
$vbLabelText   $csharpLabel

En el fragmento de código anterior, el método RenderHtmlFileAsPdf Method Usage Details se utiliza para renderizar el contenido HTML del 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 - Agregar 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

Use la palabra clave using para importar el espacio de nombres IronPdf en su archivo de código subyacente.

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

Convertir un formulario web ASP.NET a PDF

En el archivo code-behind de la página que deseas convertir a PDF (por ejemplo, Default.aspx.cs), agrega 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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

Además de las funcionalidades mencionadas, IronPDF ofrece otras características como extraer imágenes y texto con OCR de PDFs, renderizar gráficos en PDF, añadir códigos de barras a PDFs, mejorar la seguridad del documento con contraseñas y técnicas de marcas de agua para PDFs, incluso gestionar y personalizar formularios PDF, y 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, puedes obtener las cinco bibliotecas por el precio de solo dos comprando el completo Iron Suite. Visita nuestra Información de Licencias de Iron Software para más detalles.

Chipego
Ingeniero de software
Chipego tiene una habilidad natural para escuchar que le ayuda a comprender los problemas de los clientes y a ofrecer soluciones inteligentes. Se unió al equipo de Iron Software en 2023, después de estudiar una licenciatura en Tecnología de la Información. IronPDF e IronOCR son los dos productos en los que Chipego se ha centrado, pero su conocimiento de todos los productos crece día a día, a medida que encuentra nuevas formas de ayudar a los clientes. Disfruta de lo colaborativa que es la vida en Iron Software, con miembros del equipo de toda la empresa que aportan su variada experiencia para contribuir a soluciones eficaces e innovadoras. Cuando Chipego está lejos de su escritorio, a menudo se le puede encontrar disfrutando de un buen libro o jugando al fútbol.
< ANTERIOR
Cómo convertir PDF a PNG en .NET
SIGUIENTE >
Cómo mostrar texto incrustado en PDF en .NET MAUI