Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Crear, leer, escribir y convertir PDF de distintos formatos siempre ha sido una tarea difícil para los desarrolladores. Con la finalización de numerosas bibliotecas, estos problemas han quedado resueltos. Además, la fácil integración de las bibliotecas las hace más populares y fáciles de usar en las aplicaciones C#.
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:
PDFTron
Tanto IronPDF como PDFTron 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 archivos 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, hace que sea muy fácil leer PDF texto y extraer imágenes.
La biblioteca IronPDF C# - Características destacadas
Algunas de las características importantes son:
Crear PDF (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
Anotaciones, firma digital
Manipular documentos PDF existentes
Añade encabezados, pies de página, anotaciones, marcadores, marcas de agua, texto y activos.
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: También puede consultar otros productos además de IronPDF, ya que ahora puede adquirir Iron Suite para .NET y obtener cinco licencias por el precio de dos, con IronPDF, IronOCR, IronXL, IronBarcode e IronWebscraper.
El SDK de PDFTron se ha creado internamente para ofrecer una renderización precisa y fiable de sus contenidos digitales de cualquier tamaño y complejidad. Aporta funciones de PDF, CAD y MS Office a cualquier software en Windows, Mac OS, Linux, Android, iOS y la Web.
PDFTron Systems Inc. es un completo SDK multiplataforma para PDF y Office que permite escribir aplicaciones comerciales independientes, multiplataforma y fiables. PDFnet SDK de PDFTron es una biblioteca PDF .NET de alta calidad y robustez industrial. (con soporte para WPF/WinForms) para las aplicaciones más exigentes y diversas.
La biblioteca PDFtron .NET PDF C# - Características destacadas
Algunas de las características importantes son:
Biblioteca PDF/A
Convertir desde varios formatos
CAD a PDF - DWG a PDF, DGN a PDF, DXF a PDF, DWF a PDF, RVT a PDF.
El resto de este artículo tratará los siguientes temas:
Siga los siguientes pasos para crear un sitio web ASP.NET:
Seleccione Aplicación Web ASP.NET (.Net) 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.
Figura 3 - Explorador de soluciones
Figura 4 - Menú Proyecto > Gestionar paquetes NuGet
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.
Abra el Instructor de comandos para desarrolladores, que normalmente se encuentra en la carpeta Visual Studio.
Escribe el siguiente comando:
Install-Package IronPdf
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ágina Descarga de IronPDF DLL.
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, antes debemos instalar PDFTron.
Los siguientes pasos le ayudarán a configurar PDFtron SDK para el trabajo de los usuarios.
Extraiga la carpeta del archivo .zip.
**Este artículo utiliza PDFNET_BASE como ruta de acceso a la carpeta que ha extraído.
PDFNET_BASE = path/to/extraction/folder/PDFNetDotNet4/
// Clave de licencia de demostración
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Clave de licencia de demostración
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
' Clave de licencia de demostración
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5")
Nota: PDFTron recopila algunos datos sobre su uso del SDK para mejorar el producto.
Seleccione PDFNet.dll y establezca su propiedad Copy Local en False.
Figura 6 - PDFTron - copy_local_false
<configuration>
<runtime>
<loadFromRemoteSources enabled="true" />
</runtime>
</configuration>
<configuration>
<runtime>
<loadFromRemoteSources enabled="true" />
</runtime>
</configuration>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<configuration> <runtime> <loadFromRemoteSources enabled="true" /> </runtime> </configuration>
xcopy $(ProjectDir)Lib\PDFNet $(TargetDir)PDFNet /S /I /Y
xcopy $(ProjectDir)Lib\PDFNet $(TargetDir)PDFNet /S /I /Y
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'xcopy $(ProjectDir)Lib\PDFNet $(TargetDir)PDFNet /S /I /Y
Esta sección repasará los pasos de integración de NuGet.
Gráfico 7 - PDFTron - Instalación mediante paquete NuGet
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 PDF. Hay un nivel muy alto de compatibilidad con JavaScript, imágenes, formularios y CSS.
El siguiente código utiliza IronPDF para crear un documento PDF directamente desde una dirección web.
using IronPdf;
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
using IronPdf;
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
Imports IronPdf
Private Renderer As New IronPdf.ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
Pdf.SaveAs("url.pdf")
HTML2PDF Module es un complemento opcional que puede utilizarse con PDFTron SDK para convertir un archivo HTML en un documento PDF sin dependencias externas de terceros.
Nota: Requiere el HTML2PDF (Enlace de descarga) module add-on. El módulo HTML2PDF está empaquetado como un archivo zip y está pensado para ser expandido directamente en el directorio de su anterior descarga de PDFTron SDK.
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Clave de licencia de demostración
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Empezar con un PDFDoc (el destino de la conversión)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();
// añadir desde una página web
converter.InsertFromURL(webPageLocation);
// aplicar la conversión
converter.Convert(doc);
doc.Save("url.pdf", SDFDoc.SaveOptions.e_linearized);
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Clave de licencia de demostración
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Empezar con un PDFDoc (el destino de la conversión)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();
// añadir desde una página web
converter.InsertFromURL(webPageLocation);
// aplicar la conversión
converter.Convert(doc);
doc.Save("url.pdf", SDFDoc.SaveOptions.e_linearized);
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF
' Clave de licencia de demostración
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5")
' Empezar con un PDFDoc (el destino de la conversión)
Dim doc As New PDFDoc()
Dim converter As New HTML2PDF()
' añadir desde una página web
converter.InsertFromURL(webPageLocation)
' aplicar la conversión
converter.Convert(doc)
doc.Save("url.pdf", SDFDoc.SaveOptions.e_linearized)
Tanto IronPDF como PDFTron 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.
using IronPdf;
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");
using IronPdf;
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");
Imports IronPdf
Private 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")
El conversor HTML2PDF permite convertir HTML a partir de una cadena y ofrece muchas opciones para controlar el tamaño y el formato de las páginas.
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Clave de licencia de demostración
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Empezar con un PDFDoc (el destino de la conversión)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();
// añadir a partir de datos HTML String
converter.InsertFromHtmlString("<h1>Html with CSS and Images</h1>");
// aplicar la conversión
converter.Convert(doc);
doc.Save("html-with-assets.pdf", SDFDoc.SaveOptions.e_linearized);
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Clave de licencia de demostración
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Empezar con un PDFDoc (el destino de la conversión)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();
// añadir a partir de datos HTML String
converter.InsertFromHtmlString("<h1>Html with CSS and Images</h1>");
// aplicar la conversión
converter.Convert(doc);
doc.Save("html-with-assets.pdf", SDFDoc.SaveOptions.e_linearized);
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF
' Clave de licencia de demostración
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5")
' Empezar con un PDFDoc (el destino de la conversión)
Dim doc As New PDFDoc()
Dim converter As New HTML2PDF()
' añadir a partir de datos HTML String
converter.InsertFromHtmlString("<h1>Html with CSS and Images</h1>")
' aplicar la conversión
converter.Convert(doc)
doc.Save("html-with-assets.pdf", SDFDoc.SaveOptions.e_linearized)
IronPDF puede convertir fácilmente páginas web ASPX a PDF con una línea de código, mientras que la tecnología PDFTron carece de esta característica de conversión directa.
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
En la biblioteca IronPDF, los documentos sólidos PDF pueden construirse fácilmente a partir de uno o más archivos de imagen utilizando la clase IronPdf.ImageToPdfConverter. Puede cargar las imágenes de los activos en sus aplicaciones de software de generación de PDF.
// 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.
He aquí algunos ejemplos de código C# para utilizar PDFTron SDK para la conversión directa y de alta calidad entre PDF, XPS, EMF, SVG, TIFF, PNG, JPEG y otros formatos de imagen (Espacio de nombres 'pdftron.PDF.Convert). Utiliza el método Convert.ToPdf y está más orientado a documentos de MS office con capacidades ofimáticas como convertir cualquier documento imprimible (ex. TXT, RTF, Word, MS Office, DXF, DWG, etc.) a PDF o XPS mediante un conversor universal de documentos.
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Empezar con un PDFDoc (el destino de la conversión)
PDFDoc doc = new PDFDoc();
// Establecer la ruta del archivo de imagen
var filename = "sample-image.png";
// realizar la conversión sin parámetros opcionales
Convert.ToPdf(doc, filename);
doc.Save("sample-image.pdf", SDFDoc.SaveOptions.e_linearized);
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Empezar con un PDFDoc (el destino de la conversión)
PDFDoc doc = new PDFDoc();
// Establecer la ruta del archivo de imagen
var filename = "sample-image.png";
// realizar la conversión sin parámetros opcionales
Convert.ToPdf(doc, filename);
doc.Save("sample-image.pdf", SDFDoc.SaveOptions.e_linearized);
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF
' Empezar con un PDFDoc (el destino de la conversión)
Private doc As New PDFDoc()
' Establecer la ruta del archivo de imagen
Private filename = "sample-image.png"
' realizar la conversión sin parámetros opcionales
Convert.ToPdf(doc, filename)
doc.Save("sample-image.pdf", SDFDoc.SaveOptions.e_linearized)
PDFTron SDK para aplicaciones de software de nueva generación .NET se proporciona como un producto de prueba gratuito que puede probarse con una clave de licencia de demostración. No hay detalles sobre la licencia y el precio del producto, y el procedimiento de concesión de licencias no es sencillo, ya que tienes que ponerte en contacto con el departamento de ventas para obtener un presupuesto personalizado según tus necesidades. Puede visitar esta página enlace para obtener más información.
IronPDF no convierte HTML a PDF desde un servidor remoto. De hecho, pone en marcha una instancia de un navegador web real compatible con los estándares 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.
PDFTron es el SDK de MS Office y PDF más completo. Proporciona un módulo adicional independiente para HTML2PDF que debe descargarse y colocarse en la ruta de PDFnet SDK. Del mismo modo, otras opciones de conversión como OCR y PDF a Word requieren la descarga de módulos adicionales. Es abiertamente comercial y está listo para su despliegue, pero la concesión de licencias no es tan sencilla, ya que primero hay que ponerse en contacto con ventas para obtener un presupuesto.
Aquí, IronPDF tiene una ventaja sobre PDFTron, ya que no requiere descargas adicionales después de la instalación inicial. Esto ahorra tiempo y garantiza la consecución del objetivo deseado sin complicaciones. IronPDF proporciona todas las funcionalidades necesarias con una sola descarga. Sin embargo, PDFTron viene con capacidades de MS office y puede manejar mejor los documentos de MS office. Se pueden añadir otras funcionalidades descargando módulos específicos. Y lo que es más importante, las licencias de IronPDF son sencillas y los detalles se publican íntegramente en el sitio web, lo que supone una ventaja adicional frente a la competencia. Actualmente, la oferta especial significa que puede comprar cinco productos IronPDF por el precio de sólo dos.
9 productos API .NET para sus documentos de oficina