Saltar al pie de página
USANDO IRONPDF

Cómo Mostrar PDF Desde un Array de Bytes en Blazor

1. Introducción

IronPDF for C# PDF Solutions and Documentation es una biblioteca de C# para PDF que admite el manejo del renderizado de PDF y convierte matrices de bytes en archivos PDF. También admite la revisión e impresión de PDFs, así como la anotación de PDFs con herramientas de anotación. Agregar encabezados y pies de página y combinar múltiples PDFs también es muy conveniente usando IronPDF.

IronPDF se puede usar con Blazor PDF viewer para crear un visor de PDF, y puede manejar tamaños de archivo más grandes creando una URL de objeto que el navegador puede mostrar.

Usando IronPDF con Blazor, los desarrolladores pueden crear un visor PDF que pueda mostrar archivos PDF desde matrices de bytes o desde un nombre de archivo, y también admite la carga de archivos y el manejo de descargas de archivos. IronPDF también ofrece un método para manejar la paginación de documentos PDF, lo que funciona perfectamente con Blazor.

Además, IronPDF proporciona ejemplos de código para convertir matrices de bytes en documentos PDF, descargar archivos PDF y mostrar PDFs desde una cadena en base64. Los desarrolladores también pueden convertir archivos PDF a otros formatos de archivo, como transformar imágenes en documentos PDF.

IronPDF se puede usar con una aplicación de servidor Blazor y se puede integrar con Visual Studio para proporcionar una experiencia de desarrollo sin problemas. Con IronPDF, los desarrolladores pueden crear un componente de interfaz de usuario de calidad profesional que se puede usar para construir aplicaciones web modernas con muchas características.

Este artículo explica cómo los desarrolladores pueden usar IronPDF para convertir matrices de bytes PDF en documentos PDF y mostrarlos en un visor PDF de Blazor.

2. Requisitos

Para seguir el tutorial, se necesitan las siguientes herramientas y requisitos:

  • Visual Studio 2019 o posterior: Esto es necesario para crear y ejecutar la aplicación Blazor. Se puede descargar desde el sitio web oficial de Visual Studio
  • .NET 5.0 o posterior: Esto es necesario para compilar y ejecutar la aplicación Blazor. Se puede descargar desde la página oficial de descargas de .NET
  • IronPDF: Esta es la biblioteca de interfaz de usuario de calidad profesional que se utilizará para convertir matrices de bytes PDF en un documento PDF y mostrarlo en el visor PDF de Blazor. Se puede descargar desde el sitio web oficial de IronPDF
  • Paquete NuGet IronPDF.Blazor: Este es el paquete NuGet que se utilizará para integrar IronPDF con la aplicación Blazor. Se puede instalar desde el Administrador de Paquetes NuGet dentro de Visual Studio.

Algunas características discutidas en el tutorial pueden requerir una versión paga de IronPDF. Además, el tutorial asume un conocimiento básico de Blazor y C#.

3. Creación de una aplicación Blazor

Debemos crear un nuevo proyecto de Visual Studio antes de poder empezar a construir nuestra primera aplicación Blazor.

  • Abre Visual Studio.
  • Haz clic en "Crear un nuevo proyecto".
  • Elige la Plantilla de Aplicación de Servidor Blazor.

Cómo mostrar PDF desde matriz de bytes en Blazor, Figura 1: Creando un nuevo proyecto en Visual Studio Creando un nuevo proyecto en Visual Studio

  • Selecciona la opción "Siguiente".
  • Nombra tu aplicación.

Cómo mostrar PDF desde matriz de bytes en Blazor, Figura 2: Nombrando el nuevo proyecto en Visual Studio Nombrando el nuevo proyecto en Visual Studio

  • Selecciona la opción "Siguiente".
  • Selecciona un .NET Framework.

Cómo mostrar PDF desde matriz de bytes en Blazor, Figura 3: Eligiendo el marco .NET 6.0 para la nueva aplicación de servidor Blazor Eligiendo el marco .NET 6.0 para la nueva aplicación de servidor Blazor

  • Haz clic en el botón Crear.
  • Se creará un nuevo proyecto, como se verá a continuación.

Cómo mostrar PDF desde matriz de bytes en Blazor, Figura 4: Vista inicial del proyecto en Visual Studio Vista inicial del proyecto en Visual Studio

Se produjeron varios archivos para ofrecer una aplicación Blazor sencilla que está lista para usar.

  • El punto de entrada para la aplicación que lanza el servidor es program.cs, que también es donde configuras el middleware y los servicios para la aplicación.
  • La parte principal de la aplicación se llama "App.razor".
  • Algunas páginas web de ejemplo para la aplicación se pueden encontrar en el directorio "Pages".
  • Configuraciones de perfil diferentes para el entorno de desarrollo local se definen en el archivo "launchSettings.json" ubicado en el directorio "Properties". Cuando se crea un proyecto, se asigna automáticamente un número de puerto y se guarda en este archivo.

Inicia el programa de la plantilla.

Tipos de proyectos Blazor

Blazor admite dos tipos de proyectos: Blazor Server y Blazor WebAssembly.

El primer tipo se ejecuta en el servidor y utiliza SignalR para comunicarse con el navegador. Esto significa que la interfaz de usuario de la aplicación se renderiza en el servidor, y el navegador solo recibe actualizaciones del servidor. Blazor Server tiene la ventaja de poder admitir aplicaciones más grandes y puede manejar más usuarios fácilmente.

Las aplicaciones Blazor WebAssembly, por otro lado, se ejecutan completamente en el navegador y no requieren un servidor para funcionar. Esto las hace más ligeras y rápidas de cargar, pero tienen algunas limitaciones, como no poder admitir archivos más grandes.

Para este tutorial, se recomienda usar una aplicación Blazor Server ya que puede admitir la visualización y manejo de archivos PDF, que pueden ser más grandes. Además, Blazor Server puede admitir la revisión e impresión de PDFs, lo que puede ser una característica útil para una aplicación de visor de PDF.

Instalación de IronPDF

En esta sección, discutiremos cómo instalar IronPDF usando diferentes métodos.

Uso de la línea de comandos

Navega a Herramientas > Administrador de Paquetes NuGet > Consola del Administrador de Paquetes en Visual Studio.

Introduce la siguiente línea en la pestaña terminal del administrador de paquetes:

Install-Package IronPdf

Ahora que el paquete ha sido descargado, será instalado en el proyecto actual.

Cómo mostrar PDF desde matriz de bytes en Blazor, Figura 5: IU de la Consola del Administrador de Paquetes IU de la Consola del Administrador de Paquetes

Uso de la gestión de paquetes NuGet para soluciones

La IU del Administrador de Paquetes NuGet está disponible en Visual Studio para instalar el paquete directamente en el proyecto. La captura de pantalla a continuación muestra cómo abrirlo.

Cómo mostrar PDF desde matriz de bytes en Blazor, Figura 6: Navega al Administrador de Paquetes NuGet Navega al Administrador de Paquetes NuGet

La IU del Administrador de Paquetes proporciona una función Explorar que muestra una lista de las bibliotecas de paquetes que se ofrecen en el sitio web de NuGet. Introduce la palabra clave "IronPDF", como en la captura de pantalla a continuación, para encontrar el paquete IronPDF.

Cómo mostrar PDF desde matriz de bytes en Blazor, Figura 7: Buscar e instalar el paquete IronPDF en la IU del Administrador de NuGet Buscar e instalar el paquete IronPDF en la IU del Administrador de NuGet

Localiza la biblioteca IronPDF en el Administrador de Paquetes NuGet buscándola en la sección Explorar.

Selecciona el paquete IronPDF y haz clic en el botón "Instalar" para agregarlo al proyecto.

4. Creación y visualización de archivos PDF a partir de matrices de bytes

Para generar matrices de bytes PDF usando IronPDF en una aplicación Blazor, primero necesitas agregar la dependencia IronPDF a tu proyecto.

Una vez que hayas añadido la dependencia IronPDF a tu aplicación Blazor, puedes crear un documento PDF utilizando el siguiente código:

// Placeholder for the URL used to generate the PDF
string _url = "";

// Method to render a URL as a PDF and convert the result to a base64 string
private async Task ViewFile()
{
    var renderer = new IronPdf.ChromePdfRenderer();

    // Render the specified URL as a PDF
    var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");

    // Convert the PDF stream to a base64 string
    _url = $"data:application/pdf;base64,{Convert.ToBase64String(pdf.Stream.ToArray())}";
}
// Placeholder for the URL used to generate the PDF
string _url = "";

// Method to render a URL as a PDF and convert the result to a base64 string
private async Task ViewFile()
{
    var renderer = new IronPdf.ChromePdfRenderer();

    // Render the specified URL as a PDF
    var pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata");

    // Convert the PDF stream to a base64 string
    _url = $"data:application/pdf;base64,{Convert.ToBase64String(pdf.Stream.ToArray())}";
}
' Placeholder for the URL used to generate the PDF
Private _url As String = ""

' Method to render a URL as a PDF and convert the result to a base64 string
Private Async Function ViewFile() As Task
	Dim renderer = New IronPdf.ChromePdfRenderer()

	' Render the specified URL as a PDF
	Dim pdf = renderer.RenderUrlAsPdf("https://localhost:7018/fetchdata")

	' Convert the PDF stream to a base64 string
	_url = $"data:application/pdf;base64,{Convert.ToBase64String(pdf.Stream.ToArray())}"
End Function
$vbLabelText   $csharpLabel

El fragmento de código mencionado utiliza el método RenderUrlAsPdf de IronPDF, que descarga el texto HTML de una URL especificada y lo convierte en un formato PDF. El material PDF resultante se renderiza como una cadena de datos base64 no procesados al convertir el flujo PDF a un formato base64 y almacenarlo en una variable local.

Las aplicaciones pueden guardar archivos PDF creados en el sistema de archivos del servidor para un acceso posterior usando la función SaveAs de IronPDF, que está disponible en cada instancia de ChromePdfRenderer.

Los datos en base64 del PDF están listos para ser mostrados en el navegador del cliente en la siguiente sección del código:

@if (_url != string.Empty)
{
    // Render the PDF base64 data as a PDF in an iframe
    <iframe src="@_url" width="100%" height="500px"></iframe>
}
@if (_url != string.Empty)
{
    // Render the PDF base64 data as a PDF in an iframe
    <iframe src="@_url" width="100%" height="500px"></iframe>
}
'INSTANT VB WARNING: The following constructor is declared outside of its associated class:
'ORIGINAL LINE: if(_url != string.Empty)
Private Sub New(Optional _url (Not ByVal) As = String.Empty)
	' Render the PDF base64 data as a PDF in an iframe
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: <iframe src="@_url" width="100%" height="500px"></iframe>
	"100%" height="500px"></iframe>
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: <iframe src="@_url" width="100%" height
	"@_url" width="100%" height
	<iframe src="@_url" width
End Sub
$vbLabelText   $csharpLabel

Este fragmento de código vincula los datos en base64 al atributo src de un elemento iframe. Esto hace que los navegadores utilicen sus visores web integrados para renderizar el contenido en Base64 como un documento PDF adecuado tan pronto como se carga la página.

Aquí hay una imagen de un archivo PDF que fue generado a partir de una cadena en base64.

Cómo mostrar PDF desde matriz de bytes en Blazor, Figura 8: Ver un PDF Generado en una aplicación Blazor en el navegador Ver un PDF Generado en una aplicación Blazor en el navegador

Creación de archivos PDF sencillos

Aquí tienes un ejemplo de fragmento de código para crear un documento PDF simple usando IronPDF en C#:

// Create a simple PDF document with the text "Hello world!!"
var pdfDocument = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("Hello world!!");
// Create a simple PDF document with the text "Hello world!!"
var pdfDocument = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("Hello world!!");
' Create a simple PDF document with the text "Hello world!!"
Dim pdfDocument = (New IronPdf.ChromePdfRenderer()).RenderHtmlAsPdf("Hello world!!")
$vbLabelText   $csharpLabel

Utilizando el método descrito en la sección anterior, se puede utilizar el navegador del cliente para ver el documento PDF creado.

6. Conclusión

El tutorial muestra cómo usar Capacidades y Tutoriales de IronPDF para crear y mostrar documentos PDF en una aplicación de servidor Blazor. Primero presenta IronPDF y sus capacidades, incluidas cómo convertir HTML a PDF, añadir encabezados y pies de página personalizados, y combinar múltiples PDFs. Luego proporciona instrucciones paso a paso para instalar IronPDF, crear un archivo PDF en una aplicación de servidor Blazor y luego convertirlo a una matriz de bytes PDF y mostrarlo en el visor PDF de Blazor usando un iframe.

En general, el tutorial ofrece una visión completa de cómo trabajar con IronPDF y Blazor para crear y mostrar documentos PDF. Se anima a los lectores a experimentar más con IronPDF y probar diferentes características para crear aplicaciones ricas en funcionalidades.

Si estás interesado en probar IronPDF en tu proyecto Blazor, puedes aprovechar la prueba gratuita de IronPDF. Esto te da tiempo suficiente para experimentar con las características y funcionalidades de la biblioteca y ver si cumple con tus necesidades.

Para comenzar, puedes consultar la Documentación de IronPDF para Blazor, que proporciona información detallada sobre el uso de la biblioteca en tu proyecto. También puedes navegar por el Blog y Tutoriales de IronPDF para obtener tutoriales y artículos que cubren una variedad de temas relacionados con la manipulación y renderización de PDF.

Te animamos a tomarte el tiempo para experimentar más con IronPDF y Blazor y ver cómo pueden mejorar tus esfuerzos de desarrollo relacionados con PDF. Para obtener más información sobre el visor PDF de Blazor, consulta el siguiente Tutorial del Visor PDF de Blazor de IronPDF.

Preguntas Frecuentes

¿Cómo puedo mostrar un PDF desde una matriz de bytes en una aplicación Blazor?

Puedes usar IronPDF para convertir una matriz de bytes a una cadena base64 y luego vincular esta cadena al atributo 'src' de un iframe en tu aplicación Blazor. Este método aprovecha el visor de PDF integrado en el navegador para mostrar el documento.

¿Cuáles son los beneficios de usar Blazor Server sobre Blazor WebAssembly para el manejo de PDFs?

Se recomienda Blazor Server para el manejo de PDFs ya que puede gestionar archivos más grandes de manera más eficiente y admite funciones como revisión e impresión de PDFs, las cuales son cruciales para una aplicación comprensiva de visor de PDF.

¿Cómo integro IronPDF en un proyecto Blazor?

Puedes integrar IronPDF en un proyecto Blazor descargando la biblioteca IronPDF y usando el Administrador de Paquetes NuGet en Visual Studio para agregarla. El comando Install-Package IronPdf puede usarse en la consola del Administrador de Paquetes.

¿Puedo convertir URLs a PDFs en una aplicación Blazor?

Sí, usando el método RenderUrlAsPdf de IronPDF, puedes convertir contenido de una URL especificada en un formato PDF dentro de tu aplicación Blazor.

¿Es posible crear PDFs programáticamente en una aplicación Blazor?

Sí, con el método RenderHtmlAsPdf de IronPDF, puedes crear PDFs programáticamente renderizando contenido HTML como documentos PDF en una aplicación Blazor.

¿Qué herramientas se requieren para trabajar con IronPDF en un proyecto Blazor?

Para trabajar con IronPDF en un proyecto Blazor, necesitas Visual Studio 2019 o posterior, .NET 5.0 o posterior, y el paquete NuGet de IronPDF. Un entendimiento fundamental de Blazor y C# también es beneficioso.

¿Cómo puedo manejar cargadas y descargas de archivos en un visor de PDF de Blazor?

IronPDF admite cargadas y descargas de archivos en un visor de PDF de Blazor. Al integrar la biblioteca, puedes crear una aplicación web que maneje PDFs eficientemente usando código C# y componentes de Blazor.

¿Puedo fusionar varios PDFs dentro de una aplicación Blazor?

Sí, IronPDF proporciona funcionalidad para fusionar varios PDFs. Esto se puede lograr usando sus métodos para combinar diferentes documentos PDF en un solo archivo dentro de tu aplicación Blazor.

¿Hay una prueba gratuita disponible para IronPDF?

Sí, IronPDF ofrece un periodo de prueba gratuito que permite a los desarrolladores explorar sus características y funcionalidades para asegurarse de que cumple con los requisitos de su proyecto antes de realizar una compra.

¿Dónde puedo encontrar más recursos para usar IronPDF con Blazor?

Se pueden encontrar recursos adicionales para usar IronPDF con Blazor en la documentación de IronPDF, blogs y tutoriales. Estos recursos proporcionan una guía comprensiva sobre la implementación de funcionalidades PDF en aplicaciones Blazor.

¿IronPDF es compatible con .NET 10 y cómo afecta eso a la visualización de PDF de Blazor desde matrices de bytes?

Sí, IronPDF es totalmente compatible con .NET 10 y admite proyectos que lo implementan de forma predeterminada. Al usar Blazor en .NET 10, las mejoras de rendimiento, como la reducción de la sobrecarga de asignación y las capacidades asíncronas mejoradas, benefician operaciones como la conversión de matrices de bytes a PDF y su transmisión al cliente.

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