Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Crear, leer, escribir y convertir archivos PDF de diferentes 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 for .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.
Características destacadas de la biblioteca PDFTron .NET PDF C#
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 y RVT a PDF.
El resto de este artículo tratará los siguientes temas:
Crear un proyecto
Instalación de la biblioteca IronPDF C#
Instalación de PDFTron SDK
Crear un PDF a partir de una URL existente
Crear un PDF a partir de una cadena de entrada HTML
Convertir páginas ASPX a PDF
Convertir imágenes a PDF
Licencias
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:
Uso de Visual Studio
Símbolo del sistema para desarrolladores
Descargue directamente el paquete NuGet
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 ella a través del menú Proyecto o haciendo clic con el botón derecho del ratón en su proyecto 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 biblioteca IronPDF C# es seguir 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/
// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
' Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5")
Nota: PDFTron recopila algunos datos sobre su uso del SDK para mejorar el producto.
Cree un nuevo proyecto de aplicación de consola .NET Framework en Visual Studio para su idioma preferido. Puede encontrarlos en la categoría Visual C#.
Navegue hasta la carpeta de su proyecto. Por defecto, la ruta debe ser similar a: C:/Usuarios/Nombre_del_usuario/fuente/repositorios/miApp
Copie la carpeta Lib de PDFNET_BASE a la carpeta de su proyecto(la carpeta que contiene su archivo .csproj).
Busque el Explorador de soluciones a la derecha. Haga clic con el botón derecho del ratón en Referencias y seleccione la opción Añadir referencia. Se abre un cuadro de diálogo Administrador de referencias.
Haga clic en Examinar... en la parte inferior del cuadro de diálogo. Vaya a la carpeta Lib copiada y añada PDFNetLoader.dll a las referencias.
Además, añada la versión adecuada de PDFNet.dll de la carpeta x86 como otra referencia(path/to/your/project/folder/Lib/PDFNet/x86/PDFNet.dll). Esta versión permitirá que la aplicación funcione tanto en sistemas operativos de 32 bits como de 64 bits.
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.
Realice los dos primeros pasos de la integración manualmente.
Haga clic con el botón derecho en Dependencias del proyecto y haga clic en Administrar paquetes NuGet... Se abrirá el Gestor de paquetes NuGet.
Haga clic en la pestaña Examinar situada en la parte superior del gestor de paquetes. En la barra de búsqueda introduzca: PDFTron.NET.x64
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 Descarga del módulo HTML2PDF complemento. 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;
// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();
// add from a web page location
converter.InsertFromURL(webPageLocation);
// apply conversion
converter.Convert(doc);
doc.Save("url.pdf", SDFDoc.SaveOptions.e_linearized);
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();
// add from a web page location
converter.InsertFromURL(webPageLocation);
// apply conversion
converter.Convert(doc);
doc.Save("url.pdf", SDFDoc.SaveOptions.e_linearized);
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF
' Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5")
' Start with a PDFDoc (the conversion destination)
Dim doc As New PDFDoc()
Dim converter As New HTML2PDF()
' add from a web page location
converter.InsertFromURL(webPageLocation)
' apply conversion
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 simple 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");
// Load external html assets: images, css and javascript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
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");
// Load external html assets: images, css and javascript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
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")
' Load external html assets: images, css and javascript.
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
Dim PDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
PDF.SaveAs("html-with-assets.pdf")
El conversor HTML2PDF admite la conversión a partir de una cadena HTML y ofrece muchas opciones para controlar el tamaño y el formato de las páginas.
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();
// add from HTML String data
converter.InsertFromHtmlString("<h1>Html with CSS and Images</h1>");
// apply conversion
converter.Convert(doc);
doc.Save("html-with-assets.pdf", SDFDoc.SaveOptions.e_linearized);
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5");
// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
HTML2PDF converter = new HTML2PDF();
// add from HTML String data
converter.InsertFromHtmlString("<h1>Html with CSS and Images</h1>");
// apply conversion
converter.Convert(doc);
doc.Save("html-with-assets.pdf", SDFDoc.SaveOptions.e_linearized);
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF
' Demo license key
pdftron.PDFNet.Initialize("demo:1642970088321:7b229755030000000066e7418b621975e2121afda6cb46e1ecba7925a5")
' Start with a PDFDoc (the conversion destination)
Dim doc As New PDFDoc()
Dim converter As New HTML2PDF()
' add from HTML String data
converter.InsertFromHtmlString("<h1>Html with CSS and Images</h1>")
' apply conversion
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.
// One or more images as IEnumerable. This example selects all JPEG images in a specific folder.
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg")
f.EndsWith(".jpeg"));
// Convert the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\composite.pdf");
//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
// One or more images as IEnumerable. This example selects all JPEG images in a specific folder.
var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg")
f.EndsWith(".jpeg"));
// Convert the images to a PDF and save it.
ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\composite.pdf");
//Also see PdfDocument.RasterizeToImageFiles() method to flatten a PDF to images or thumbnails
IRON VB CONVERTER ERROR developers@ironsoftware.com
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;
// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
// Set the path of the image file
var filename = "sample-image.png";
// perform the conversion with no optional parameters
Convert.ToPdf(doc, filename);
doc.Save("sample-image.pdf", SDFDoc.SaveOptions.e_linearized);
using pdftron;
using pdftron.SDF;
using pdftron.PDF;
// Start with a PDFDoc (the conversion destination)
PDFDoc doc = new PDFDoc();
// Set the path of the image file
var filename = "sample-image.png";
// perform the conversion with no optional parameters
Convert.ToPdf(doc, filename);
doc.Save("sample-image.pdf", SDFDoc.SaveOptions.e_linearized);
Imports pdftron
Imports pdftron.SDF
Imports pdftron.PDF
' Start with a PDFDoc (the conversion destination)
Private doc As New PDFDoc()
' Set the path of the image file
Private filename = "sample-image.png"
' perform the conversion with no optional parameters
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 Información sobre precios de PDFTron 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, con todos los detalles publicados 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