COMPARACIóN DE PRODUCTOS

Crear PDF Desde Matriz De Bytes C# iTextSharp (vs IronPDF)

Actualizado 30 de mayo, 2023
Compartir:

1.0 Introducción

Adobe desarrolló el formato de documento portátil para facilitar el intercambio de documentos basados en texto e imágenes. (PDF). Para ver un archivo de imagen PDF, debe utilizar otra aplicación. En la cultura actual, muchas empresas utilizan documentos PDF para diversas tareas, como la preparación de facturas y otros trámites.

Los desarrolladores también utilizan el formato de archivo PDF existente para producir documentos o archivos de imagen que se ajusten a las especificaciones del cliente. Afortunadamente, las bibliotecas que simplifican el proceso han hecho que producir PDF sea más sencillo que nunca. Tenga en cuenta factores como las capacidades de creación, lectura y conversión a la hora de elegir una biblioteca para su proyecto, con el fin de seleccionar la mejor que esté disponible.

En este post, se compararán dos de las bibliotecas PDF Dot NET más utilizadas. Lo son:

  • iText PDF
  • IronPDF

    En su aplicación o proyecto Microsoft.NET, puede crear, leer y modificar archivos PDF utilizando las bibliotecas PDF IronPDF o iText. Vamos a echar un vistazo a las capacidades de las 2 bibliotecas en primer lugar en lugar de pasar directamente al rendimiento general, las tasas para la conversión y el manejo de los archivos PDF con el fin de determinar qué biblioteca es mejor para su aplicación. Los marcos Microsoft.NET son compatibles con ambas bibliotecas. Además, se registrará la duración de cada biblioteca para referencia e investigación posterior. Para conocer la comparación, pulse aquí.

2. Características de la biblioteca

2.1 Características de iText PDF

Una biblioteca y sistema Java que puede convertir texto en archivos PDF se llama iText PDF. El texto se adhiere al modelo de licencia de software AGPL. La licencia de software AGPL es gratuita y de código abierto.

  • La biblioteca iText dispone de una API para producir archivos PDF.
  • Tanto las cadenas HTML como las XML pueden analizarse en PDF utilizando el lector var del programa iText.
  • Podemos añadir marcadores, números de página y marcadores a nuestros documentos PDF utilizando la biblioteca iText.
  • Podemos dividir un archivo PDF en varios PDF o combinar varios archivos PDF en uno solo utilizando la biblioteca iText.
  • Podemos editar formularios en PDF utilizando iText.
  • Utilizando imágenes de PNG, JPEG y otros formatos de imagen, iText también puede crear PDF.
  • La biblioteca iText ofrece una clase Canvas que permite dibujar diferentes formas geométricas sobre textos preexistentes.
  • En los documentos PDF, iText ofrece una herramienta que permite añadir y editar fuentes e imágenes.

2.2 Características de IronPDF

Los desarrolladores pueden producir, leer y modificar rápidamente archivos PDF con la ayuda de la robusta IronPDF, una biblioteca PDF .NET. IronPDF tiene un motor Chrome en su núcleo y ofrece una gran cantidad de capacidades prácticas y potentes, incluyendo la capacidad de convertir HTML5, JavaScript, CSS y archivos de imagen a PDF, añadir encabezados y pies de página únicos y producir PDFs exactamente como aparecen en un navegador web. IronPDF es compatible con varios formatos web y .NET, como HTML, ASPX, Razor View y MVC. Los principales atributos de IronPDF son los siguientes:

  • Cree, lea y edite fácilmente archivos PDF dentro del programa Dot NET C#.
  • Creación de archivos PDF a partir de un enlace URL de un sitio web que tenga configuraciones para User-Agents, Proxies, Cookies, HTTP Headers y Form Variables para admitir el inicio de sesión mediante formularios de inicio de sesión HTML.
  • Eliminar fotos de publicaciones en PDF ya existentes.
  • Añadir texto, fotos, marcadores, marcas de agua y otros elementos a archivos PDF.
  • Funciones que simplifican la fusión y división de las páginas de varios documentos PDF.
  • La capacidad de transformar activos de tipo multimedia, incluidos archivos CSS, en documentos.

3.0 Instalar biblioteca

3.1 Instalar iText7

Encuentre iText primero utilizando el gestor de paquetes NuGet. iText7 e iText.pdfhtml deben instalarse ambos porque las funciones de estos paquetes están repartidas entre numerosos paquetes.

Crear PDF a partir de matriz de bytes C# iTextSharp (vs IronPDF) Figura 1 - iText7

Instale los siguientes paquetes como se muestra a continuación si prefiere la línea de comandos de Visual Studio:

Install-Package itext7 && Install-Package itext7.pdfhtml

Dado que iText7 es la versión más reciente, la estamos utilizando en nuestra solución.

3.2 Instalación de la biblioteca IronPDF

Como se ve en la siguiente captura de pantalla, podemos buscar fácilmente "IronPDF" en el Gestor de paquetes:

Crear PDF desde matriz de bytes C# iTextSharp (vs IronPDF) Figura 2 - IronPDF

En el gráfico anterior se muestra la lista de resultados de búsqueda pertinentes. Para instalar el paquete en su máquina, marque las casillas necesarias.

Si desea instalar el paquete utilizando la línea de comandos, añada la siguiente línea en la pestaña terminal del gestor de paquetes:

:PackageInstall

El paquete ya está preparado para su uso y se descargará e instalará en el proyecto actual.

4.0 Creación de PDF

4.1 Utilizar iTextSharp

Podemos crear documentos PDF con matrices de bytes estáticas públicas generadas a partir del documento iText doc. A continuación se muestra el ejemplo que nos ayuda a crear un nuevo documento con la ayuda de la biblioteca iText PDF.

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.Layout.Properties;
using System.IO;
using iText.Kernel.Geom;
using iText.Html2pdf;

var html = "<h1>Hello world</h1>";
//matriz de bytes
byte [] result;
//crear nuevo MemoryStream usando var ms
using (var ms = new MemoryStream())
{
    //nuevo documento
    var doc = new PdfDocument(new PdfWriter(ms));
    doc.SetDefaultPageSize(PageSize.A4);
    doc.SetTagged();
    HtmlConverter.ConvertToPdf(html, doc, new ConverterProperties());
    result = ms.ToArray();
}
File.WriteAllBytes(@"test.pdf", result);
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.Layout.Properties;
using System.IO;
using iText.Kernel.Geom;
using iText.Html2pdf;

var html = "<h1>Hello world</h1>";
//matriz de bytes
byte [] result;
//crear nuevo MemoryStream usando var ms
using (var ms = new MemoryStream())
{
    //nuevo documento
    var doc = new PdfDocument(new PdfWriter(ms));
    doc.SetDefaultPageSize(PageSize.A4);
    doc.SetTagged();
    HtmlConverter.ConvertToPdf(html, doc, new ConverterProperties());
    result = ms.ToArray();
}
File.WriteAllBytes(@"test.pdf", result);
Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element
Imports iText.Layout.Properties
Imports System.IO
Imports iText.Kernel.Geom
Imports iText.Html2pdf

Private html = "<h1>Hello world</h1>"
'matriz de bytes
Private result() As Byte
'crear nuevo MemoryStream usando var ms
Using ms = New MemoryStream()
	'nuevo documento
	Dim doc = New PdfDocument(New PdfWriter(ms))
	doc.SetDefaultPageSize(PageSize.A4)
	doc.SetTagged()
	HtmlConverter.ConvertToPdf(html, doc, New ConverterProperties())
	result = ms.ToArray()
End Using
File.WriteAllBytes("test.pdf", result)
VB   C#

El ejemplo anterior muestra que estamos creando un documento PDF a partir de la cadena HTML dada. En primer lugar, vamos a crear MemoryStream para contener los datos. Entonces creamos PdfWriter y le pasamos el MemoryStream como parámetro para que contenga los datos. A continuación, vamos a crear el archivo PDF con la ayuda del HtmlConverter. Después, toda la salida se ha guardado en el MemoryStream. A continuación, estamos convirtiendo los datos en bytes, y luego estamos utilizando la clase File para guardar el MemoryStream ms en un nuevo archivo como la salida de abajo.

Crear PDF a partir de matriz de bytes C# iTextSharp (vs IronPDF) Figura 3 - Salida

4.2 Utilización de IronPDF

IronPDF hace que la creación de archivos PDF sea muy sencilla con unas pocas líneas de código. A continuación se muestra el código de ejemplo para crear un archivo PDF utilizando IronPDF.

var html = "<h1>Hello world</h1>";
var pdf = new IronPdf.ChromePdfRenderer();
var bytedata=pdf.RenderHtmlAsPdf(html).BinaryData;
File.WriteAllBytes(@"test.pdf", bytedata);
var html = "<h1>Hello world</h1>";
var pdf = new IronPdf.ChromePdfRenderer();
var bytedata=pdf.RenderHtmlAsPdf(html).BinaryData;
File.WriteAllBytes(@"test.pdf", bytedata);
Dim html = "<h1>Hello world</h1>"
Dim pdf = New IronPdf.ChromePdfRenderer()
Dim bytedata=pdf.RenderHtmlAsPdf(html).BinaryData
File.WriteAllBytes("test.pdf", bytedata)
VB   C#

En el primer paso, estamos creando un objeto para ChromePdfRenderer que ayuda a crear el archivo PDF. A continuación, estamos añadiendo los datos HTML en el documento PDF utilizando el método RenderHtmlAsPdf. A continuación, vamos a convertir los datos en matriz de bytes. El último paso es utilizar el archivo que nos ayuda a convertir la matriz de bytes a un archivo PDF. La salida será como a continuación.

Crear PDF a partir de matriz de bytes C# iTextSharp (vs IronPDF) Figura 4 - Salida de IronPDF

Para más tutoriales de código, haga clic en aquí.

5.0 Conclusión

iText7 es una de las bibliotecas PDF más utilizadas. El código de iText es muy complejo y no es apto para principiantes. Necesitamos un conocimiento básico sobre la biblioteca para utilizar esto en la aplicación de usuario. iText genera archivos PDF con mucho espacio, por lo que puede afectar a la memoria del usuario cuando genera archivos con muchas páginas. A diferencia de otros paquetes, iText7 ha dividido la biblioteca en varios paquetes. iText7 depende de varios paquetes. Tenemos que descargar todos los paquetes para que funcione, puede aumentar el tamaño de la aplicación. Tanto la licencia de desarrollo como la de empresa son gratuitas con iText. Haga clic en aquí para leer más sobre la licencia iText.

Por otro lado, IronPDF es fácil y sencillo de usar. Con unas pocas líneas de código podemos crear archivos PDF. Es adecuado para principiantes y no se necesitan conocimientos básicos para utilizar esta aplicación. IronPDF no depende de ningún otro paquete. Es un paquete que funciona solo. Los desarrolladores pueden elegir entre una variedad de licencias para comprar para satisfacer sus necesidades, además de una licencia gratuita que se proporciona. La edición Lite de $749 sí incluye todas las características de la biblioteca, como una licencia permanente, una garantía de devolución del dinero de 30 días, un año de soporte de software, actualizaciones y posibilidades de redistribución SaaS y OEM. Además, excluye los gastos recurrentes. Estas licencias se adquieren una sola vez y pueden aplicarse a las fases de desarrollo, puesta en marcha y producción. Además, IronPDF ofrece licencias gratuitas, no distribuibles y de duración limitada. Haga clic en aquí para obtener un desglose detallado de los precios de IronPDF e información sobre licencias.

< ANTERIOR
Comparación entre IronPDF y Foxit PDF SDK
SIGUIENTE >
Comparación entre iTextSharp e IronPDF para la edición de archivos PDF

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

Comenzar prueba gratuita Descargas totales: 9,541,998
Ver licencias >