COMPARACIóN DE PRODUCTOS

Comparación entre Jsreport y IronPDF

Actualizado 12 de diciembre, 2023
Compartir:

1. Introducción

En la era digital, los PDF (Portable Document Formats) se han convertido en una necesidad cotidiana, crucial para almacenar y compartir información en un formato fiable y coherente. Ya sea para transformar propiedades de datos en un PDF con un formato impecable o para elaborar una factura profesional, los desarrolladores suelen recurrir a potentes bibliotecas cliente de C# como IronPDF y JSReport Studio locales en lugar de Phantom PDF para el desarrollo de servidores.

IronPDF ofrece el mejor rendimiento en la conversión de HTML a PDF en el marco .NET, mientras que JSReport SDK ofrece soluciones dinámicas de generación de informes centradas en la flexibilidad y la personalización mediante el servidor local JSReport y el archivo config o de configuración. Ambas bibliotecas aportan soluciones únicas, que responden a las distintas necesidades de los desarrolladores en el campo de la generación y manipulación de PDF.

2. Uso de JSReport Server .NET

SDK de JSReport .NET es una solución avanzada de generación de informes para aplicaciones .NET, especialmente optimizada para entornos ASP.NET Core. Se distingue por permitir la transformación de las salidas de las vistas en diversos formatos, como PDF, Excel, DOCX y CSV, directamente desde HTML y JavaScript. Esta capacidad se facilita aprovechando motores ASP.NET MVC como Razor para la generación de informes utilizando un servidor de informes.

JSReport .NET proporciona un amplio conjunto de extensiones locales predeterminadas, como programación, versionado de plantillas, subinformes, gestión de usuarios, plantillas de importación/exportación y copias de seguridad, lo que aumenta su versatilidad y aplicabilidad en diversos escenarios empresariales. También es compatible con una amplia gama de API, incluidas las API REST, CLI o SDK, lo que permite generar informes prácticamente desde cualquier lugar.

2.1 Características principales

2.1.1 Integración de ASP.NET Core

JSReport SDK ofrece un paquete NuGet jsreport.AspNetCore específico para aplicaciones ASP.NET Core. Esto incluye filtros middleware capaces de transformar las salidas de las vistas MVC en los formatos deseados, utilizando las vistas como generadores HTML y el servidor JSReport como transformador de salida.

2.1.2 Configuración flexible

La configuración implica el uso de paquetes como jsreport.AspNetCore, jsreport.Local y jsreport.Binary. Estas clases de ayuda facilitan la conexión a una instancia local de JSReport o a una instancia remota a través de jsreport.Client.

2.1.3 Transformación de la salida

Los desarrolladores pueden especificar fácilmente recetas JSReport para la transformación de la salida. Por ejemplo, utilizando la receta MiddlewareFilter y ChromePdf, un filtro ASP.NET captura el resultado de renderizado de una vista y lo convierte a formato PDF. Esta función es especialmente útil para las aplicaciones basadas en ASP.NET.

2.1.4 Compatibilidad con instancias remotas

JSReport .NET se integra perfectamente con instancias remotas de JSReport. Esto es particularmente ventajoso en entornos Docker orquestados donde JSReport se ejecuta en un contenedor separado en lugar de un contenedor. Esta integración facilita la orquestación de aplicaciones JSReport y .NET Core mediante herramientas como Docker-compose.

2.1.5 Gestión avanzada de respuestas

El hook OnAfterRender permite manipular las cabeceras de respuesta y otros atributos. Este gancho también se puede utilizar para almacenar la salida en un archivo, ofreciendo flexibilidad en el manejo de la respuesta del proceso de generación de informes.

2.1.6 Cabeceras personalizadas

JSReport .NET permite especificar encabezados de PDF personalizados mediante vistas parciales. Estos encabezados se pueden mostrar en tiempo de ejecución junto con el contenido principal del PDF, lo que ofrece opciones de personalización adicionales para la generación de informes.

2.1.7 Renderizado sin vistas MVC

El framework permite generar informes a partir de HTML sin procesar, no sólo vistas MVC. Esta función permite una mayor flexibilidad en el proceso de generación de informes, permitiendo a los desarrolladores renderizar directamente el contenido HTML.

3. IronPDF

IronPDF es una útil biblioteca para aplicaciones .NET que facilita el trabajo con archivos PDF. Una de las principales cosas que hace es convertir HTML a PDF que es perfecto si necesita generar informes o facturas a partir de páginas web. Además, es bastante rápida tanto si trabajas en el lado del servidor como en el lado del cliente, lo que la convierte en una gran biblioteca tanto para proyectos empresariales como para uso personal.

IronPDF se adapta a muchos entornos .NET diferentes, como ASP.NET, MVC, Windows Forms y WPF. Se integra sin problemas tanto con .NET Core como con Framework. También funciona con Azure y otros servicios en la nube, lo que es una gran ventaja para el desarrollo de aplicaciones basadas en la nube.

3.1 Características principales de IronPDF

3.1.1 Conversión de HTML a PDF

IronPDF es perfecto para convertir HTML en documentos PDF. Maneja HTML, CSS, JavaScript e imágenes a la perfección, garantizando que su contenido web tenga el aspecto adecuado en el PDF final. La conversión mantiene el diseño y el estilo del HTML original.

3.1.2 Integración de ASP.NET

La integración con ASP.NET es perfecta, lo que le permite convertir páginas ASPX en PDF sin necesidad de una gran cantidad de código. Es muy útil para crear PDF a partir de aplicaciones web existentes.

3.1.3 Edición y manipulación

IronPDF le permite editar archivos PDF existentes como añadir texto, imágenes y páginas o fusionar varios PDF. Las funciones de edición son fáciles de usar, por lo que no es necesario ser un experto en PDF para utilizarlas. También puede añadir anotaciones, archivos adjuntos, esquemas y marcadores a su PDF.

3.1.4 Relleno y extracción de formularios

IronPDF permite rellenar y extraer datos de Formularios PDF que es clave para las aplicaciones que trabajan con formularios. IronPDF facilita enormemente todo el proceso de gestión de datos de formularios. También puede gestionar distintos tipos de formularios PDF, lo que aumenta su flexibilidad.

3.1.5 Elementos de seguridad

IronPDF incluye funciones de seguridad como la protección por contraseña y el establecimiento de permisos en los documentos PDF, que son cruciales para mantener a salvo la información confidencial. También dispone de funciones de cifrado y descifrado, lo que añade otra capa de seguridad para sus PDF.

3.1.6 Renderizado personalizable

Puede controlar en gran medida la representación de sus PDF, por ejemplo, configurando encabezados y pies de página personalizadosAjustes márgenes de página y eligiendo partes HTML específicas para la conversión. Este nivel de personalización garantiza que sus PDF sean exactamente como usted desea.

3.1.7 Funciones PDF avanzadas

IronPDF es compatible con Cumplimiento de PDF/A y firmas digitales. También tiene funciones de reconocimiento óptico de caracteres, lo que significa que puede convertir documentos e imágenes escaneados en archivos PDF que puedes buscar y editar. Estas funciones son ideales para proyectos más complejos.

3.1.8 Despliegue sencillo

La configuración de IronPDF es muy sencilla: no es necesario realizar instalaciones o dependencias adicionales. Es ligero, por lo que no reduce el rendimiento de la aplicación. Además, siempre se está actualizando para mantenerse al día con lo último en tecnología .NET, ofreciéndole una solución PDF que no se quedará anticuada.

4. Creación del proyecto .NET

4.1 Iniciar un nuevo proyecto

Abra Visual Studio e inicie un nuevo proyecto haciendo clic en el botón "Crear un nuevo proyecto".

Comparación entre Jsreport e IronPDF: Figura 1 - Crear un proyecto

A continuación, elija 'Console App', ".NET Core App" o cualquier otra opción.

Comparación entre Jsreport y IronPDF: Figura 2 - Proyecto independiente - Aplicación de consola

4.2 Puesta en marcha del proyecto

Tendrás que dar un nombre a tu proyecto. Busque el cuadro de texto para el nombre del proyecto y escriba el nombre que desee. Además, elija una ubicación para el proyecto seleccionando la ruta en la que desea guardarlo. Una vez introducidos estos datos, pulse el botón "Crear" para seguir adelante.

Comparación entre Jsreport e IronPDF: Figura 3 - Configuración del proyecto

4.3 Selección de .NET Framework

El siguiente paso es seleccionar el marco .NET necesario para su proyecto. Esta elección depende de los requisitos y la compatibilidad de su proyecto. A continuación, pulse el botón Crear.

Comparación entre Jsreport e IronPDF: Figura 4 - Seleccionar marco

5. Instalar la biblioteca IronPDF

5.1 Uso del gestor de paquetes NuGet

Para instalar IronPDF mediante el gestor de paquetes NuGet de Visual Studio, siga estos pasos:

  • Abra su proyecto en Visual Studio.
  • Haga clic en el menú "Herramientas", elija "Gestor de paquetes NuGet" y, a continuación, seleccione "Gestionar paquetes NuGet para la solución".

    Comparación entre Jsreport e IronPDF: Figura 5 - Gestor de paquetes NuGet

  • En el Gestor de paquetes NuGet, haga clic en la pestaña "Examinar".
  • Busque "IronPDF".
  • Una vez que encuentre el paquete IronPDF, selecciónelo y haga clic en "Instalar".

    Comparación entre Jsreport e IronPDF: Figura 6 - Instalación de IronPDF

  • Siga las instrucciones para completar la instalación.

5.2 Uso de la línea de comandos de Visual Studio

Si prefiere utilizar la línea de comandos, puede instalar IronPDF en Visual Studio de la siguiente manera:

  • Abre Visual Studio.
  • Vaya al menú "Herramientas", pase el ratón sobre "Gestor de paquetes NuGet" y, a continuación, seleccione "Consola del gestor de paquetes" en el menú lateral.
  • En la consola, escriba el siguiente comando:
    Install-Package IronPdf
    Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
VB   C#
  • Pulse Intro para ejecutar el comando y espere a que finalice la instalación.

    Comparación entre Jsreport e IronPDF: Figura 7 - Instalación de IronPDF

5.3 Descarga directa desde la página web de NuGet

IronPDF también puede descargarse directamente del sitio web de NuGet:

  • Visite el sitio web oficial de NuGet.
  • Utilice la barra de búsqueda para encontrar el paquete IronPDF.

    Comparación entre Jsreport y IronPDF: Figura 8 - Paquete IronPDF

  • En el Página del paquete IronPDF verá opciones para descargar el paquete directamente.
  • Descargue el archivo .nupkg y añádalo a su proyecto manualmente.

    Comparación entre Jsreport y IronPDF: Figura 9 - Descargar .nupkg

6. Instalar JSReport

6.1 Uso del gestor de paquetes NuGet en Visual Studio

Para ejecutar JSReport mediante el gestor de paquetes NuGet de Visual Studio, ve al menú "Herramientas" y selecciona "Gestionar paquetes NuGet". Se abrirá la interfaz del Gestor de paquetes NuGet. En el gestor de paquetes NuGet, puede buscar jsreport.Local o jsreport.Binary, en función de los requisitos de su proyecto.

Comparación entre Jsreport y IronPDF: Figura 10 - jsreport.Binary

Estos son los principales paquetes para integrar JSReport en una aplicación .NET. Una vez localizado el paquete adecuado, haz clic en "Instalar" para añadirlo a tu proyecto. Este proceso descargará y referenciará automáticamente el paquete en su proyecto, dejándolo listo para su uso.

6.2 Uso de la consola del gestor de paquetes NuGet

También puedes instalar JSReport mediante la consola del gestor de paquetes NuGet en Visual Studio. Para ello, abre la Consola del Gestor de Paquetes NuGet desde el menú 'Herramientas seleccionando 'Gestor de Paquetes NuGet' y luego 'Consola del Gestor de Paquetes'.

Comparación entre Jsreport e IronPDF: Figura 11 - Consola del gestor de paquetes

En la consola, debe ejecutar un comando específico para instalar el paquete JSReport. Si desea instalar el paquete jsreport.Local, utilice el comando Install-Package jsreport.Local. Para los paquetes jsreport.Binary, el comando sería Install-Package jsreport.Binary. La ejecución de estos comandos en la consola del gestor de paquetes descargará y añadirá el paquete JSReport correspondiente a su proyecto.

Comparación entre Jsreport e IronPDF: Figura 12 - Instalar jsreport.Local

7. Comparación de la función HTML a PDF en IronPDF y JSReport

7.1 Conversión de HTML a PDF de IronPDF

IronPDF es la mejor biblioteca para la conversión de HTML a PDF. Destaca por su facilidad de uso y su alto rendimiento, lo que la convierte en una de las mejores opciones entre los desarrolladores. Es compatible con funciones avanzadas como el renderizado de CSS, la ejecución de JavaScript y los encabezados y pies de página personalizados, lo que mejora aún más su capacidad para producir PDF de alta calidad a partir de fuentes HTML. IronPDF ofrece 3 formas de convertir HTML a PDF:

  1. Cadena HTML a PDF
  2. Archivo HTML a PDF
  3. URL a PDF

    Analicemos estas características una por una.

7.1.1 Cadena HTML a PDF

Esta función permite convertir contenido HTML directamente a partir de una cadena. Esto resulta especialmente útil cuando el contenido HTML se genera o modifica dinámicamente dentro de su aplicación. Puede pasar la cadena HTML a IronPDF, y éste la renderizará como PDF.

using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
string htmlString = @"
            <html>
                <head>
                    <title>Example HTML</title>
                </head>
                <body>
                    <h1>Hello, World!</h1>
                    <p>This is an HTML string converted to PDF using IronPDF.</p>
                </body>
            </html>";
//  Convertir cadena HTML a PDF
var pdfDocument = renderer.RenderHtmlAsPdf(htmlString);
pdfDocument.SaveAs("HtmlStringToPdf.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
string htmlString = @"
            <html>
                <head>
                    <title>Example HTML</title>
                </head>
                <body>
                    <h1>Hello, World!</h1>
                    <p>This is an HTML string converted to PDF using IronPDF.</p>
                </body>
            </html>";
//  Convertir cadena HTML a PDF
var pdfDocument = renderer.RenderHtmlAsPdf(htmlString);
pdfDocument.SaveAs("HtmlStringToPdf.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
IronPdf.License.LicenseKey = "Your-License-Key"
Dim htmlString As String = "
            <html>
                <head>
                    <title>Example HTML</title>
                </head>
                <body>
                    <h1>Hello, World!</h1>
                    <p>This is an HTML string converted to PDF using IronPDF.</p>
                </body>
            </html>"
'  Convertir cadena HTML a PDF
Dim pdfDocument = renderer.RenderHtmlAsPdf(htmlString)
pdfDocument.SaveAs("HtmlStringToPdf.pdf")
VB   C#

Este es el archivo PDF de salida:

Comparación entre Jsreport y IronPDF: Figura 13 - Salida

7.1.2 Archivo HTML a PDF

Con este método, puede convertir un archivo HTML existente en un PDF. Esto resulta útil cuando se tienen archivos HTML estáticos que deben presentarse o distribuirse como PDF. Es necesario proporcionar la ruta al archivo HTML, y IronPDF se encarga de la conversión.

using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
var pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html");
pdfDocument.SaveAs("Invoice.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
var pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html");
pdfDocument.SaveAs("Invoice.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
IronPdf.License.LicenseKey = "Your-License-Key"
Dim pdfDocument = renderer.RenderHtmlFileAsPdf("invoice.html")
pdfDocument.SaveAs("Invoice.pdf")
VB   C#

Aquí está el archivo PDF de salida de una factura HTML:

1

7.1.2 URL a PDF

Esta función permite convertir una página web completa en un PDF utilizando su URL. Es muy útil para capturar el estado actual de una página web, incluidos el estilo, las imágenes y otros recursos. IronPDF cargará la página web desde la URL indicada y la convertirá en un documento PDF, reproduciendo el diseño y el contenido lo más fielmente posible.

using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2;
//https url
var pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/");
pdfDocument.SaveAs("UrlToPdf.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
IronPdf.License.LicenseKey = "Your-License-Key";
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2;
//https url
var pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/");
pdfDocument.SaveAs("UrlToPdf.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
IronPdf.License.LicenseKey = "Your-License-Key"
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2
'https url
Dim pdfDocument = renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/")
pdfDocument.SaveAs("UrlToPdf.pdf")
VB   C#

Aquí está el PDF generado del sitio web de Microsoft .NET utilizando la lógica anterior.

Comparación entre Jsreport e IronPDF: Figura 14 - PDF del sitio web HTTP de Microsoft

7.2 JSReport C# Conversión de HTML a PDF

El proceso de conversión de HTML a PDF en JSReport implica varios pasos, que a menudo incluyen la configuración de un servidor JSReport o el uso de su API en línea. Una implementación típica en C# podría ser la siguiente

using JsReport.AspNetCore;
using JsReport.Types;
using System.Threading.Tasks;
public async Task<IActionResult> GeneratePdf()
{
    var report = new LocalReporting()
                 .UseBinary(JsReportBinary.GetBinary())
                 .AsUtility()
                 .Create();
    var reportResult = await report.RenderAsync(new RenderRequest()
    {
        Template = new Template()
        {
            Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
            Engine = Engine.None,
            Recipe = Recipe.ChromePdf
        },
        Options = new RenderOptions()
        {
            Debug = new DebugOptions() { Preview = true }
        }
    });
    var stream = new MemoryStream();
    reportResult.Content.CopyTo(stream);
    stream.Position = 0;
    return File(stream, "application/pdf", "Report.pdf");
}
using JsReport.AspNetCore;
using JsReport.Types;
using System.Threading.Tasks;
public async Task<IActionResult> GeneratePdf()
{
    var report = new LocalReporting()
                 .UseBinary(JsReportBinary.GetBinary())
                 .AsUtility()
                 .Create();
    var reportResult = await report.RenderAsync(new RenderRequest()
    {
        Template = new Template()
        {
            Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
            Engine = Engine.None,
            Recipe = Recipe.ChromePdf
        },
        Options = new RenderOptions()
        {
            Debug = new DebugOptions() { Preview = true }
        }
    });
    var stream = new MemoryStream();
    reportResult.Content.CopyTo(stream);
    stream.Position = 0;
    return File(stream, "application/pdf", "Report.pdf");
}
Imports JsReport.AspNetCore
Imports JsReport.Types
Imports System.Threading.Tasks
Public Async Function GeneratePdf() As Task(Of IActionResult)
	Dim report = (New LocalReporting()).UseBinary(JsReportBinary.GetBinary()).AsUtility().Create()
	Dim reportResult = Await report.RenderAsync(New RenderRequest() With {
		.Template = New Template() With {
			.Content = "<html><body><h1>Example HTML</h1><p>This is converted to PDF using JSReport.</p></body></html>",
			.Engine = Engine.None,
			.Recipe = Recipe.ChromePdf
		},
		.Options = New RenderOptions() With {
			.Debug = New DebugOptions() With {.Preview = True}
		}
	})
	Dim stream = New MemoryStream()
	reportResult.Content.CopyTo(stream)
	stream.Position = 0
	Return File(stream, "application/pdf", "Report.pdf")
End Function
VB   C#

También puede encontrar ejemplos de JSReport .NET en lo siguiente enlace. A continuación se muestra un ejemplo del informe de facturas en PDF.

Comparación entre Jsreport e IronPDF: Figura 15 - PDF de salida de la factura

8. Flexibilidad y funciones avanzadas

8.1 Funciones avanzadas y personalización de IronPDF

IronPDF destaca por sus funciones avanzadas y su alto grado de personalización, que satisfacen diversas necesidades de manipulación de PDF. Entre las principales funciones avanzadas se incluyen:

Conformidad con PDF/A: Admite el formato PDF/A, esencial para el archivado a largo plazo y el cumplimiento de las normas del sector. Este cumplimiento es especialmente crucial para los sectores jurídico, financiero y gubernamental, donde la integridad de los documentos a lo largo del tiempo es primordial.

using IronPdf;
//  Crear un objeto PdfDocument o abrir cualquier archivo PDF
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");
//  Utiliza el método SaveAsPdfA para guardar en un archivo
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);
using IronPdf;
//  Crear un objeto PdfDocument o abrir cualquier archivo PDF
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");
//  Utiliza el método SaveAsPdfA para guardar en un archivo
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);
Imports IronPdf
'  Crear un objeto PdfDocument o abrir cualquier archivo PDF
Private pdf As PdfDocument = PdfDocument.FromFile("wikipedia.pdf")
'  Utiliza el método SaveAsPdfA para guardar en un archivo
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3)
VB   C#

Edición, fusión y división de PDF: IronPDF permite editar PDF existentes, fusionar varios PDF en uno solo y dividir PDF en documentos independientes. Esta función es especialmente útil cuando hay que dividir documentos de gran tamaño para facilitar su distribución o cuando hay que combinar distintas secciones de varios documentos.

Funciones de seguridad: Incluye robustas características de seguridad como protección por contraseña, encriptación y la posibilidad de establecer permisos de usuario. IronPDF admite la encriptación de archivos PDF, lo que añade una capa adicional de seguridad y protege el contenido para que no pueda ser alterado ni copiado.

using IronPdf;
//  Abrir un archivo PDF
var pdfDoc = PdfDocument.FromFile("invoice.pdf");
//  El siguiente código hace que un PDF sea de sólo lectura y no permitirá copiar y pegar ni imprimir
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption();
pdfDoc.SecuritySettings.AllowUserAnnotations = false;
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = false;
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdfDoc.SecuritySettings.AllowUserFormData = false;
//  Cambiar o establecer la contraseña de encriptación del documento
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen"; //  contraseña para editar el pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare"; //  contraseña para abrir el pdf
pdfDoc.SaveAs("InvoiceProtected.pdf");
using IronPdf;
//  Abrir un archivo PDF
var pdfDoc = PdfDocument.FromFile("invoice.pdf");
//  El siguiente código hace que un PDF sea de sólo lectura y no permitirá copiar y pegar ni imprimir
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption();
pdfDoc.SecuritySettings.AllowUserAnnotations = false;
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = false;
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdfDoc.SecuritySettings.AllowUserFormData = false;
//  Cambiar o establecer la contraseña de encriptación del documento
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen"; //  contraseña para editar el pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare"; //  contraseña para abrir el pdf
pdfDoc.SaveAs("InvoiceProtected.pdf");
Imports IronPdf
'  Abrir un archivo PDF
Private pdfDoc = PdfDocument.FromFile("invoice.pdf")
'  El siguiente código hace que un PDF sea de sólo lectura y no permitirá copiar y pegar ni imprimir
pdfDoc.SecuritySettings.RemovePasswordsAndEncryption()
pdfDoc.SecuritySettings.AllowUserAnnotations = False
pdfDoc.SecuritySettings.AllowUserCopyPasteContent = False
pdfDoc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
pdfDoc.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdfDoc.SecuritySettings.AllowUserFormData = False
'  Cambiar o establecer la contraseña de encriptación del documento
pdfDoc.SecuritySettings.OwnerPassword = "passForOpen" '  contraseña para editar el pdf
pdfDoc.SecuritySettings.UserPassword = "onlyForShare" '  contraseña para abrir el pdf
pdfDoc.SaveAs("InvoiceProtected.pdf")
VB   C#

Control de encabezados y pies de página: Los desarrolladores pueden añadir fácilmente encabezados y pies de página personalizados a sus documentos PDF, una función esencial para informes, facturas y otros documentos empresariales de aspecto profesional. Esto incluye la posibilidad de añadir números de página, fechas y texto personalizado.

Conversión de PDF a imágenes: IronPDF permite convertir páginas PDF en imágenes. Esta función es especialmente útil cuando se necesita mostrar contenido PDF como imágenes en aplicaciones web o para generar miniaturas.

using IronPdf;
using IronSoftware.Drawing;
var pdf = PdfDocument.FromFile("Example.pdf");
//  Extraer todas las páginas a una carpeta como archivos de imagen
pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");
//  Se pueden especificar dimensiones e intervalos de páginas
pdf.RasterizeToImageFiles(@"C:\image\folder\example_pdf_image_*.jpg", 100, 80);
//  Extraer todas las páginas como objetos AnyBitmap
AnyBitmap [] pdfBitmaps = pdf.ToBitmap();
using IronPdf;
using IronSoftware.Drawing;
var pdf = PdfDocument.FromFile("Example.pdf");
//  Extraer todas las páginas a una carpeta como archivos de imagen
pdf.RasterizeToImageFiles(@"C:\image\folder\*.png");
//  Se pueden especificar dimensiones e intervalos de páginas
pdf.RasterizeToImageFiles(@"C:\image\folder\example_pdf_image_*.jpg", 100, 80);
//  Extraer todas las páginas como objetos AnyBitmap
AnyBitmap [] pdfBitmaps = pdf.ToBitmap();
Imports IronPdf
Imports IronSoftware.Drawing
Private pdf = PdfDocument.FromFile("Example.pdf")
'  Extraer todas las páginas a una carpeta como archivos de imagen
pdf.RasterizeToImageFiles("C:\image\folder\*.png")
'  Se pueden especificar dimensiones e intervalos de páginas
pdf.RasterizeToImageFiles("C:\image\folder\example_pdf_image_*.jpg", 100, 80)
'  Extraer todas las páginas como objetos AnyBitmap
Dim pdfBitmaps() As AnyBitmap = pdf.ToBitmap()
VB   C#

8.2 Características avanzadas y extensibilidad de JSReport .NET

JSReport .NET es famoso por sus funciones avanzadas y su extensibilidad, que lo convierten en una herramienta versátil para la generación de informes. Sus principales características son:

Generación dinámica de informes: Admite varios motores de plantillas, incluidos Handlebars y EJS, lo que facilita diseños de informes intrincados y flexibles. Esta compatibilidad multimotor permite una amplia gama de posibilidades de diseño, adaptándose a diferentes requisitos y complejidades en la creación de informes.

var report = new LocalReporting()
    .UseBinary(JsReportBinary.GetBinary())
    .RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport"))
    .KillRunningJsReportProcesses()
    .Configure(cfg => cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory())
    .AsUtility()
    .Create();
var reportResult = await report.RenderAsync(new RenderRequest()
{
    Template = new Template()
    {
        Content = "{{{message}}}",
        Engine = Engine.Handlebars,
        Recipe = Recipe.ChromePdf
    },
    Data = new
    {
        message = "PDF Generation with JSReport .NET"
    }
});
var report = new LocalReporting()
    .UseBinary(JsReportBinary.GetBinary())
    .RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport"))
    .KillRunningJsReportProcesses()
    .Configure(cfg => cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory())
    .AsUtility()
    .Create();
var reportResult = await report.RenderAsync(new RenderRequest()
{
    Template = new Template()
    {
        Content = "{{{message}}}",
        Engine = Engine.Handlebars,
        Recipe = Recipe.ChromePdf
    },
    Data = new
    {
        message = "PDF Generation with JSReport .NET"
    }
});
Dim report = (New LocalReporting()).UseBinary(JsReportBinary.GetBinary()).RunInDirectory(Path.Combine(Directory.GetCurrentDirectory(), "jsreport")).KillRunningJsReportProcesses().Configure(Function(cfg) cfg.AllowLocalFilesAccess().FileSystemStore().BaseUrlAsWorkingDirectory()).AsUtility().Create()
Dim reportResult = Await report.RenderAsync(New RenderRequest() With {
	.Template = New Template() With {
		.Content = "{{{message}}}",
		.Engine = Engine.Handlebars,
		.Recipe = Recipe.ChromePdf
	},
	.Data = New With {Key .message = "PDF Generation with JSReport .NET"}
})
VB   C#

Motores de plantillas: JSReport .NET ofrece programación y automatización para la generación de informes, ideal para necesidades de informes regulares como resúmenes diarios o mensuales. Esta funcionalidad garantiza la entrega puntual de los informes y puede integrarse con los flujos de trabajo empresariales para la elaboración de informes activados por eventos.

Extensibilidad con scripts personalizados: JSReport C# permite la ampliación de sus capacidades a través de scripts personalizados, mejorando funcionalidades como el tratamiento personalizado de datos o el formateo especializado. Esta extensibilidad es crucial para crear informes según requisitos específicos de lógica empresarial y manipulación de datos.

9. Soporte

9.1 Calidad y disponibilidad de la documentación de IronPDF

La documentación de IronPDF es completa y fácil de usar, y está dirigida tanto a principiantes como a desarrolladores experimentados. Incluye guías detalladas, referencias a la API y una gran cantidad de ejemplos de código, lo que facilita a los desarrolladores la comprensión e implementación de las funciones de la biblioteca en múltiples lenguajes, como C# y Node.

La documentación está bien estructurada y se actualiza periódicamente, reflejando las últimas funciones y las mejores prácticas. Además, el sitio web de IronPDF ofrece guías de inicio rápido y preguntas frecuentes, que resultan especialmente útiles para quienes se inician en la manipulación de PDF en un entorno .NET.

IronPDF también dispone de una zona de juegos en línea en la que puede probar la funcionalidad de IronPDF en línea sin necesidad de descargar su código. Explórelo utilizando lo siguiente enlace.

9.1.1 Opciones de asistencia

IronPDF ofrece varias opciones de asistencia, incluido un equipo de asistencia dedicado a la gestión de consultas y problemas técnicos. Proporcionan asistencia por correo electrónico y tienen una presencia activa en los foros de desarrolladores, ofreciendo soluciones y consejos. También puede ponerse en contacto con el agente de Live Support mediante la opción Live Support del sitio web.

9.2 Calidad y disponibilidad de la documentación de JSReport .NET

JSReport .NET se enorgullece de su extensa y bien mantenida documentación. La documentación abarca una amplia gama de temas, desde la configuración básica hasta escenarios de uso avanzados, con fragmentos de código y ejemplos de implementación. Está organizada de forma lógica, lo que facilita la navegación y la búsqueda de información relevante. Los recursos en línea también incluyen una completa referencia de la API, que garantiza a los desarrolladores el acceso a información detallada sobre las capacidades de la herramienta.

9.2.1 Opciones de asistencia

En términos de soporte, JSReport .NET ofrece una variedad de opciones. Cuentan con un equipo de asistencia especializado con el que se puede contactar por correo electrónico, y mantienen una presencia activa en GitHub, proporcionando una plataforma para informar de problemas y solicitudes de funciones.

10. Modelos de licencia

10.1 Licencia de IronPDF

Comparación entre Jsreport e IronPDF: Figura 16 - Licencias

IronPDF ofrece tres distintas opciones de precios para diferentes escalas de uso y necesidades presupuestarias:

Edición Lite: Con un precio de $749, se trata de una tarifa única para la implantación en la nube. Está diseñado para proyectos pequeños o equipos que se inician en el procesamiento de PDF.

Edición Profesional: Con un precio de 1.499 dólares, también de pago único por uso en la nube, esta edición es adecuada para desarrolladores profesionales que requieren funciones y capacidades más avanzadas.

Edición ilimitada: El paquete más completo, con un precio de 2.999 dólares, es una tarifa única para la implantación en la nube. Es ideal para su uso en grandes empresas, ya que ofrece amplias funciones y no tiene limitaciones de uso.

10.2 Licencia de JSReport .NET

Comparación entre Jsreport e IronPDF: Figura 17 - Licencia de JSReport

JSReport .NET ofrece opciones de licencia flexibles incluyendo licencias por suscripción y perpetuas:

Licencia gratuita: Esto ofrece una instancia con todas las funciones limitada a un máximo de 5 plantillas de informes. No requiere clave de licencia y es adecuado para pequeños proyectos o fines de evaluación.

Suscripción Enterprise: Con un precio de 395 $ al año, este plan proporciona una única instancia de JSReport con todas las funciones, sin limitaciones e incluye actualizaciones. Es ideal para empresas individuales que necesitan una solución de informes sólida.

Suscripción a escala empresarial: A 1.295 dólares al año, este plan es el mejor para despliegues a gran escala, ya que ofrece una única clave de licencia válida para un número infinito de instancias. Este plan incluye actualizaciones y no está sujeto a derechos de autor, por lo que es adecuado para organizaciones que ejecutan varias instancias o que lo implantan como parte de otro producto a varios clientes.

11. Conclusión

En conclusión, aunque tanto IronPDF como JSReport .NET son valiosos en sus respectivos campos, IronPDF tiene una ligera ventaja debido a sus completas capacidades de manipulación de PDF. Destaca en áreas como el cumplimiento de PDF/A, la edición avanzada y las funciones de seguridad, lo que la convierte en una herramienta más versátil para el manejo detallado de PDF en entornos .NET. JSReport .NET, con sus puntos fuertes en generación dinámica de informes y plantillas, es muy eficaz para tareas centradas en informes. Sin embargo, para la mayoría de los escenarios que requieren un procesamiento y manipulación de PDF detallados y variados, IronPDF se perfila como la opción más ventajosa.

IronPDF ofrece una licencia gratuita para desarrolladores y prueba gratuita. Iron Software ofrece un paquete completo conocido como Iron Suite. Esta suite, que incluye IronBarcode, IronXL, IronQR, IronOCR, IronPDFy IronWebScraper se ofrece al precio de 2 programas, lo que añade un valor significativo para los desarrolladores que buscan una amplia gama de funcionalidades.

Por último, la elección entre uno y otro dependería de las necesidades específicas y del entorno del proyecto o promotor.

< ANTERIOR
Comparación entre IronPDF y DinktoPdf
SIGUIENTE >
Comparación de la creación de PDF en C# entre ITextSharp e IronPDF

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

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