Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Trabajar con archivos PDF en C# ha resultado difícil para los desarrolladores a lo largo de los años. Hay una gran variedad de factores a tener en cuenta a la hora de renderizar contenidos a partir de archivos PDF, y más aún al convertir contenidos de distintos formatos a PDF. Estos problemas ya se han resuelto con la aparición de numerosas bibliotecas diseñadas para leer, escribir, crear y convertir a PDF desde distintos formatos.
En este artículo se compararán dos de las bibliotecas PDF más populares para desarrolladores .NET y .NET Core. Estas dos bibliotecas son:
SeleccionePDF
Tanto IronPDF como Select PDF son bibliotecas que proporcionan métodos para crear, manipular y imprimir PDF en .NET y .NET Core. La siguiente cuestión es decidir qué Biblioteca PDF C# es el más adecuado para su proyecto .NET. Puede sopesar su decisión mientras lee la siguiente comparación entre las dos bibliotecas y sus respectivas funciones destacadas para convertir y manipular PDF.
Veamos en primer lugar lo que ofrecen ambas bibliotecas, y luego pasemos a la comparación propiamente dicha.
La solución de biblioteca PDF .NET de IronPDF es un sueño para los desarrolladores, especialmente los ingenieros de software que utilizan C#. Puede crear fácilmente una biblioteca pdf básica para .NET con esta excelente herramienta.
IronPDF utiliza un motor .NET Chromium para convertir páginas HTML en PDF. Con HTML a PDF no es necesario utilizar API complejas para posicionar o diseñar PDF. IronPDF admite documentos web estándar: HTML, ASPX, JS, CSS e imágenes.
También permite crear una biblioteca PDF .NET utilizando HTML5, CSS, JavaScript e imágenes. Puede editar, sellar y añadir encabezados y pies de página a un PDF sin esfuerzo. Además, facilita mucho la lectura de texto en PDF y la extracción de imágenes. Este paquete "todo en uno" atrae tanto a desarrolladores de forma gratuita como a la implantación de aplicaciones comerciales.
Algunas de las características importantes son:
Crear PDFs (HTML a PDF)
Carga de URL con credenciales de inicio de sesión de red personalizadas, agentes de usuario, proxies, cookies, cabeceras HTTP y variables de formulario que permiten el inicio de sesión detrás de formularios de inicio de sesión HTML.
Editar documentos PDF existentes sin Adobe Acrobat
Añadir encabezados y pies de página lógicos o HTML
Manipular documentos PDF existentes
Añade encabezados, pies de página, anotaciones, marcadores, marcas de agua, texto e imágenes.
Convertir desde varios formatos
Acepta HTML codificado en cualquiera de las principales codificaciones de archivos (por defecto UTF-8)
Guardar e imprimir
Exportación de archivos de registro oficiales con detalles sobre el éxito de la API y errores de depuración en el código fuente
Nota: Ahora puede adquirir Iron Suite para .NET (IronPDF, IronOCR, IronXL, IronBarcode, IronWebscraper) 7 licencias por el precio de 2, lo que la convierte en una característica destacada entre sus competidores.
Select PDF para .NET es una biblioteca PDF profesional que puede utilizarse para crear, escribir, editar, manipular y leer archivos PDF sin dependencias externas dentro de aplicaciones .NET. Con esta biblioteca PDF .NET, puede implementar funciones sofisticadas para crear archivos PDF desde cero o procesar documentos PDF existentes completamente a través de C#/VB.NET sin necesidad de instalar Adobe Acrobat.
Select PDF proporciona versiones para .NET y .NET Core 2.0 y superiores (a través de .NET Standard 2.0). Select PDF sólo funciona en Windows. Select PDF funciona en la nube Azure, incluida Azure Web Apps. (Plan Básico o superior) con algunas limitaciones.
La versión gratuita de Select Pdf para .NET contiene muestras listas para usar para Windows Forms, ASP.NET, ASP.NET MVC con motores Razor y ASPX.
Nota: Select Pdf funciona en línea y actualmente sólo funciona en sistemas Windows. No hay soporte para Linux, Xamarin u otras plataformas.
Características de la biblioteca SelectPDF
Estas son algunas de las características más importantes de Select PDF:
**Características generales
Configuración avanzada de seguridad de documentos PDF (Algoritmos de cifrado RC4 o AES, claves de cifrado de hasta 256 bits)
**Características del convertidor de HTML a PDF
Siga los siguientes pasos para crear un sitio web ASP.NET:
Seleccione Aplicación Web ASP.NET (.NET Framework) y haga clic en OK como se muestra en la siguiente captura de pantalla
Figura 1 - Cuadro de diálogo Nuevo proyecto
En la siguiente pantalla, seleccione "Formularios web", como se muestra en la siguiente captura de pantalla.
Figura 2 - Formularios web
Una vez seleccionado, pulse OK.
Ahora el proyecto está creado y estamos casi listos para probar las bibliotecas. Sin embargo, aún tenemos que instalarlos e integrarlos en nuestro proyecto. Primero instalemos IronPDF.
Existen cuatro formas de descargar e instalar la biblioteca IronPDF. Son las siguientes:
Descargar la biblioteca .DLL de IronPDF
Analicemos cada uno de ellos.
Visual Studio proporciona el gestor de paquetes NuGet para instalar paquetes NuGet en sus proyectos. Puede acceder a él a través del menú Proyecto o haciendo clic con el botón derecho del ratón en el Explorador de soluciones. Ambas opciones se muestran a continuación en capturas de pantalla como Figuras 3 y 4.
Figura 3 - Menú Proyecto > Gestionar paquetes NuGet
Figura 4 - Haga clic con el botón derecho en Explorador de soluciones
Una vez seleccionado, busque el paquete IronPDF e instálelo, como se muestra en la siguiente captura de pantalla.
Gráfico 5 - Instalar IronPDF desde el paquete NuGet
Otra forma de descargar e instalar la librería IronPDF C# es hacer uso de los siguientes pasos para instalar el paquete IronPDF NuGet a través del símbolo del sistema del desarrollador.
:ProductInstall
La tercera forma de descargar e instalar IronPDF es seguir los pasos que se indican a continuación. Para ello, visite directamente el sitio de NuGet y descargue el paquete. Los pasos son:
Puede descargar directamente el archivo .DLL de IronPDF desde el sitio web. Puede descargarlo directamente de la páginaDescarga de IronPDF DLL.
Figura 6 - Descarga directa de la biblioteca IronPDF C#
Haz referencia a la biblioteca en tu proyecto siguiendo estos pasos:
Haga clic en OK
Todo hecho! IronPDF está descargado, instalado y listo para usar. Sin embargo, primero debemos descargar y configurar el EVO Conversor de HTML a PDF.
Ya está disponible Select PDF Library for .NET - 2021 Vol 2.
Hay dos formas de instalar la biblioteca Select PDF:
Descarga de conjuntos
Echemos un vistazo a cada uno de ellos.
La forma más fácil de instalar Select Pdf es utilizando un paquete NuGet, vaya a NuGet Package Manager e instale uno de los siguientes paquetes:
.NET Core y .NET 5 con motor de renderizado Blink - Sólo Windows (y .NET 4.6.1 y .NET 4.7.2) Seleccionar.Pdf.NetCore.Blink:https://www.nuget.org/packages/Select.Pdf.NetCore.Blink/.
Nota 1: Si se utiliza la versión x64, la aplicación debe estar orientada a la plataforma x64 y debe ejecutarse en un proceso trabajador x64.
Nota 2: La versión .NET Core es para .NET Core 2.0 o superior hasta .NET Standard 2.0 (con .NET Core 2.x, 3.x, .NET 5). Actualmente requiere un sistema Windows para funcionar. No funciona en Linux ni en Mac ni en Xamarin.
Nota 3: El motor de renderizado Blink sólo funciona con la versión .NET Core y con .NET Framework (a partir de 4.6.1). El motor de renderizado Blink se introdujo con Select Pdf v19.1.
SelectPdf puede descargarse desde el sitio web del producto:https://selectpdf.com. La página de descarga del archivo de productos de prueba gratuita se encuentra en este enlace:https://selectpdf.com/downloads/. SelectPdf se envía como un archivo de producto con la siguiente estructura:
Asambleas
Contiene los ensamblados y archivos relacionados que necesita SelectPdf Library para .NET.
La biblioteca Select.Pdf se suministra con diferentes versiones para CLR 2.0 (.NET 2.0, 3.5) y para CLR 4.0 (.NET 4.0 y superior) y para .NET Core.
Nota: La versión .NET Core y las versiones .NET (Orientación 4.6.1 o superior) tienen dependencias adicionales que deben instalarse a través de NuGet.
Documentación
Contiene la documentación del producto en formato CHM.
**Configuración del proyecto
Ambas bibliotecas ofrecen la posibilidad de convertir una página web HTML a PDF. Veamos el código de cada biblioteca una por una.
IronPDF hace que sea muy sencillo convertir HTML de URL existentes en documentos PDF. Hay un nivel muy alto de soporte para JavaScript, Imágenes, Formularios y CSS.
El siguiente código utiliza IronPDF para crear un documento PDF directamente desde una dirección web:
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
Dim Renderer As New IronPdf.ChromePdfRenderer()
Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
'
Pdf.SaveAs("url.pdf")
Convertir de HTML a PDF con SelectPDF es muy fácil. El siguiente código utiliza SelectPDF para generar un archivo PDF directamente desde una dirección web.
// instanciar un objeto conversor de html a pdf
HtmlToPdf converter = new HtmlToPdf();
// crear un nuevo documento pdf convirtiendo una url
PdfDocument doc = converter.ConvertUrl("https://selectpdf.com/");
// guardar documento pdf
doc.Save(file);
// cerrar documento pdf
doc.Close();
// instanciar un objeto conversor de html a pdf
HtmlToPdf converter = new HtmlToPdf();
// crear un nuevo documento pdf convirtiendo una url
PdfDocument doc = converter.ConvertUrl("https://selectpdf.com/");
// guardar documento pdf
doc.Save(file);
// cerrar documento pdf
doc.Close();
' instanciar un objeto conversor de html a pdf
Dim converter As New HtmlToPdf()
'
' crear un nuevo documento pdf convirtiendo una url
Dim doc As PdfDocument = converter.ConvertUrl("https://selectpdf.com/")
'
' guardar documento pdf
doc.Save(file)
'
' cerrar documento pdf
doc.Close()
Tanto IronPDF como SelectPDF ofrecen la posibilidad de generar PDF a partir de una cadena que contenga HTML. Ambos utilizan sólo dos líneas de código para realizar esta tarea.
El siguiente código muestra que un documento PDF puede ser renderizado utilizando una cadena de entrada HTML. Puede elegir HTML sencillo o incorporar también CSS, imágenes y JavaScript.
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
// Carga activos html externos: imágenes, css y javascript.
// Una BasePath opcional 'C:\site\assets\' se establece como la ubicación del archivo para cargar los activos de
var PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
PDF.SaveAs("html-with-assets.pdf");
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
// Carga activos html externos: imágenes, css y javascript.
// Una BasePath opcional 'C:\site\assets\' se establece como la ubicación del archivo para cargar los activos de
var PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
PDF.SaveAs("html-with-assets.pdf");
Dim Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf")
' Carga activos html externos: imágenes, css y javascript.
' Una BasePath opcional 'C:\site\assets\' se establece como la ubicación del archivo para cargar los activos de
Dim PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
PDF.SaveAs("html-with-assets.pdf")
Con SelectPDF HTML to Pdf Converter para .NET se puede convertir cualquier código HTML en bruto a PDF. SelectPDF es compatible con la última versión de HTML5 con hojas de estilo CSS3. El siguiente código muestra que se puede generar un PDF utilizando una cadena que contenga HTML.
// instanciar un objeto conversor de html a pdf
HtmlToPdf converter = new HtmlToPdf();
// crear un nuevo documento pdf convirtiendo una cadena html
PdfDocument doc = converter.ConvertHtmlString("<h1>Html with CSS and Images</h1>", baseUrl);
// guardar documento pdf
doc.Save(Response, false, "Sample.pdf");
// cerrar documento pdf
doc.Close();
// instanciar un objeto conversor de html a pdf
HtmlToPdf converter = new HtmlToPdf();
// crear un nuevo documento pdf convirtiendo una cadena html
PdfDocument doc = converter.ConvertHtmlString("<h1>Html with CSS and Images</h1>", baseUrl);
// guardar documento pdf
doc.Save(Response, false, "Sample.pdf");
// cerrar documento pdf
doc.Close();
' instanciar un objeto conversor de html a pdf
Dim converter As New HtmlToPdf()
' crear un nuevo documento pdf convirtiendo una cadena html
Dim doc As PdfDocument = converter.ConvertHtmlString("<h1>Html with CSS and Images</h1>", baseUrl)
' guardar documento pdf
doc.Save(Response, False, "Sample.pdf")
' cerrar documento pdf
doc.Close()
El siguiente código tanto para IronPDF como para SelectPDF crea un PDF desde una página web ASP.NET.
El siguiente código convierte el archivo de página web ASPX a PDF utilizando IronPDF. Se trata de un código de una sola línea y muy fácil de usar. Se pueden añadir más opciones a la configuración del PDF durante la renderización.
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
A veces, en una aplicación ASP.NET es necesario convertir una página web a PDF. SelectPDF HTML to Pdf Converter y un truco ASP.NET se puede utilizar para lograr esta tarea. Eche un vistazo al código de ejemplo que aparece a continuación.
protected override void Render(HtmlTextWriter writer)
{
if (startConversion)
{
// obtener html de la página
TextWriter myWriter = new StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(myWriter);
base.Render(htmlWriter);
// instanciar un objeto conversor de html a pdf
HtmlToPdf converter = new HtmlToPdf();
// crear un nuevo documento pdf convirtiendo la cadena html de la página
PdfDocument doc = converter.ConvertHtmlString(
myWriter.ToString(), Request.Url.AbsoluteUri);
// guardar documento pdf
doc.Save(Response, false, "Sample.pdf");
// cerrar documento pdf
doc.Close();
}
else
{
// mostrar la página web en el navegador
base.Render(writer);
}
}
protected override void Render(HtmlTextWriter writer)
{
if (startConversion)
{
// obtener html de la página
TextWriter myWriter = new StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(myWriter);
base.Render(htmlWriter);
// instanciar un objeto conversor de html a pdf
HtmlToPdf converter = new HtmlToPdf();
// crear un nuevo documento pdf convirtiendo la cadena html de la página
PdfDocument doc = converter.ConvertHtmlString(
myWriter.ToString(), Request.Url.AbsoluteUri);
// guardar documento pdf
doc.Save(Response, false, "Sample.pdf");
// cerrar documento pdf
doc.Close();
}
else
{
// mostrar la página web en el navegador
base.Render(writer);
}
}
Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)
If startConversion Then
' obtener html de la página
Dim myWriter As TextWriter = New StringWriter()
Dim htmlWriter As New HtmlTextWriter(myWriter)
MyBase.Render(htmlWriter)
' instanciar un objeto conversor de html a pdf
Dim converter As New HtmlToPdf()
' crear un nuevo documento pdf convirtiendo la cadena html de la página
Dim doc As PdfDocument = converter.ConvertHtmlString(myWriter.ToString(), Request.Url.AbsoluteUri)
' guardar documento pdf
doc.Save(Response, False, "Sample.pdf")
' cerrar documento pdf
doc.Close()
Else
' mostrar la página web en el navegador
MyBase.Render(writer)
End If
End Sub
La conversión de PDF a imágenes sólo la proporciona IronPDF. SelectPDF no proporciona esta facilidad para convertir imágenes a PDF. En cambio, permite la conversión de PDF a imágenes. En la biblioteca IronPDF, el PDF puede construirse fácilmente a partir de uno o más archivos de imagen utilizando la clase IronPdf.ImageToPdfConverter.
// Una o más imágenes como IEnumerable. Este ejemplo selecciona todas las imágenes JPEG de una carpeta específica.
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg")
f.EndsWith(".jpeg"));
// Convierte las imágenes en un PDF y guárdalo.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\composite.pdf");
//Consulte también el método PdfDocument.RasterizeToImageFiles() para convertir un PDF en imágenes o miniaturas.
// Una o más imágenes como IEnumerable. Este ejemplo selecciona todas las imágenes JPEG de una carpeta específica.
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg")
f.EndsWith(".jpeg"));
// Convierte las imágenes en un PDF y guárdalo.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\composite.pdf");
//Consulte también el método PdfDocument.RasterizeToImageFiles() para convertir un PDF en imágenes o miniaturas.
' Una o más imágenes como IEnumerable. Este ejemplo selecciona todas las imágenes JPEG de una carpeta específica.
Dim ImageFiles = System.IO.Directory.EnumerateFiles("C:\project\assets").Where(Function(f) f.EndsWith(".jpg") f.EndsWith(".jpeg"))
'
' Convierte las imágenes en un PDF y guárdalo.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs("C:\project\composite.pdf")
'
'Consulte también el método PdfDocument.RasterizeToImageFiles() para convertir un PDF en imágenes o miniaturas.
SelectPdf Library para .NET se proporciona como producto de prueba gratuito que puede probarse sin limitaciones durante 30 días. La versión de prueba gratuita es totalmente funcional, pero sin clave de licencia; se mostrará una marca de agua en cada página de los archivos PDF generados con la biblioteca. Se necesita una clave de licencia para desbloquear el producto y eliminar la marca de agua de demostración. Una licencia de desarrollador individual cuesta a partir de $749. También hay licencias disponibles para múltiples desarrolladores. La lista completa puede consultarse en el sitio web del producto:https://selectpdf.com/pricing.
IronPDF es una aplicación Biblioteca PDF en C#. Es gratuito para el desarrollo y siempre se puede obtener una licencia para su implantación comercial.Licencias disponibles para uso en un solo proyecto, desarrolladores individuales, agencias y corporaciones globales, así como SaaS y redistribución OEM. Todas las licencias incluyen una garantía de devolución del dinero de 30 días, un año de asistencia técnica y actualizaciones del producto, validez para desarrollo/montaje/producción y también una licencia permanente. (compra única). El paquete Lite parte de $749.
Resumen
IronPDF no convierte HTML a PDF desde un servidor remoto. En realidad, pone en marcha una instancia de un navegador web estándar real entre bastidores. (sin necesidad de instalar software adicional). El HTML se renderiza con total precisión y en un formato vectorial apto para los más altos estándares de impresión comercial. El resultado es un PDF limpio y de alta calidad. Es abiertamente comercial, con detalles sobre licencias y precios publicados en el sitio web.
SelectPDF es una API REST de HTML a PDF en línea. Implica el renderizado de la página web que se está convirtiendo. Debido al soporte para ejecutar HTML/CSS/JavaScript complejos, es necesario tener en cuenta una serie de cosas cuando se utiliza SelectPDF para asegurarse de que su aplicación sigue siendo segura. Los PDF generados son perfectos, con diferentes configuraciones de seguridad de archivos PDF y de páginas PDF. La API es fácil de usar y la integración sólo requiere unas pocas líneas de código. Los detalles sobre licencias y precios se publican íntegramente en el sitio web.
Conclusión
En este caso, IronPDF tiene una ventaja sobre SelectPDF, ya que puede trabajar sin conexión una vez instalado. En comparación con SelectPDF, IronPDF proporciona conversión de diferentes formatos a PDF: por ejemplo, XML a PDF, imágenes a PDF y Angular JS a PDF. IronPDF es muy recomendable para codificadores pragmáticos que busquen trabajar con eficacia y eficiencia. Y lo que es más importante, ahorra tiempo. SelectPDF puede ser útil cuando se trabaja con documentos PDF en distintos idiomas del servidor. Además, los paquetes IronPDF proporcionan una licencia de por vida, y no hay costes continuos, mientras que la API REST de SelectPDF Online sí tiene costes continuos. Ahora puede adquirir IronPDF 5 .NET por el precio de 2. Esto convierte a IronPDF en un ganador indiscutible entre sus competidores y, además, ahorra costes de producción.!
9 productos API .NET para sus documentos de oficina