COMPARACIóN DE PRODUCTOS

Comparación entre IronPDF y PDFCrowd

Actualizado 13 de diciembre, 2021
Compartir:

IronPDF y PDFCrowd - Una comparación exhaustiva

Una tecnología cada vez mejor significa soluciones más inteligentes que ahorran tiempo a todos, y especialmente a los desarrolladores. La automatización es ahora la clave de los procesos de desarrollo de software. Trabajar con archivos PDF en C# ha resultado difícil para los desarrolladores durante muchos 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:

  • IronPDF
  • PDFCrowd

    Tanto IronPDF como PDFCrowd 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.

    Echemos un vistazo primero a lo que ofrecen ambas bibliotecas, y luego pasemos a la comparación propiamente dicha.

IronPDF y sus principales características

IronPDF .NET PDF Library solución 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.

Biblioteca IronPDF C# - Características destacadas

Algunas de las características importantes son:

Crear PDF (De HTML a PDF)

  • Crear documentos PDF a partir de HTML 4 y 5, CSS y JavaScript
  • Generar documentos PDF a partir de URL
  • Cargar URL con credenciales de inicio de sesión de red personalizadas, User-Agents, Proxies, Cookies, cabeceras HTTP, 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

  • Leer y rellenar datos de campos de formulario
  • Extraer imágenes y textos de PDF
  • Estampe nuevo contenido HTML en cualquier página PDF existente
  • Añadir encabezados y pies de página lógicos o HTML

    Manipular documentos PDF existentes

  • Cargar y analizar documentos PDF existentes
  • Combinar y dividir contenido en documentos PDF
  • Añade encabezados, pies de página, anotaciones, marcadores, marcas de agua, texto e imágenes.

    Convertir desde varios formatos

  • ASPX WebForms - convierta, con 3 líneas de código, formularios web ASP.NET en PDF descargables y visibles en el navegador.
  • Documento HTML - convertir HTML a PDF
  • URL base personalizada para permitir el acceso a los archivos de activos a través de la web
  • Diseños adaptables mediante Virtual Viewport (anchura y altura)
  • Acepta HTML codificado en cualquiera de las principales codificaciones de archivos (Por defecto UTF-8)

    Guardar e imprimir

  • Guardar y cargar desde archivo, datos binarios o MemoryStreams
  • Tipos de medios CSS para pantalla o impresión
  • Convertir archivos PDF en un objeto PrintDocument e imprimir sin Adobe (con un código mínimo)
  • 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

La biblioteca PDFCrowd - Características destacadas

La API de Pdfcrowd.com es una solución profesional para crear PDF e imágenes de capturas de pantalla a partir de páginas web y documentos HTML. Es un servicio web en línea que permite convertir cualquier página web a PDF. La API es un servicio web en el que sus datos se convierten en servidores PDFCrowd.

Es de alta calidad y rápido, por lo que le ahorrará tiempo. Es seguro y tiene la capacidad de comprimir archivos.

Características de la API de PDFCrowd

Estas son algunas de las características más importantes de PDFCrowd:

API de conversión de HTML a PDF

  • Bibliotecas SDK de cliente API fáciles de usar
  • Compatibilidad con los últimos estándares web
  • La integración tarda sólo unos minutos en configurarse y no se necesitan bibliotecas de terceros.
  • Disponible prácticamente en cualquier plataforma: Windows, Linux, macOS, BSD, sistemas tipo Unix, etc.
  • Fiable, ampliamente disponible y compatible con las últimas especificaciones HTML5, CSS3 y JavaScript.

    **Zona de juegos API

  • Explorar interactivamente la configuración de la API
  • Vista previa de PDF, generación automática de códigos
  • Convertir páginas web, archivos HTML o código HTML

    Nota: PDFCrowd no proporciona un SDK independiente que pueda utilizarse sin conexión.

    El resto de este artículo tratará los siguientes temas:

  1. Crear un proyecto
  2. IronPDF C# Instalación de la biblioteca
  3. Instalación de la API de PDFCrowd
  4. Crear un PDF a partir de una URL existente
  5. Crear un PDF a partir de una cadena de entrada HTML
  6. Convertir páginas ASPX a PDF
  7. Convertir XML a PDF
  8. Convertir imágenes a PDF
  9. Licencias
  10. Resumen y conclusión

1. Creación de un proyecto ASP.NET

Siga los siguientes pasos para crear un sitio web ASP.NET:

  • Abrir Visual Studio 2019
  • Haga clic en Archivo en el menú y, a continuación, en "Nuevo proyecto" para crear un nuevo proyecto.
  • Seleccione Web en Visual C# en el cuadro de lista tipo de proyecto
  • 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 todo, haga clic en Aceptar.

    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.

2. IronPDF C# Instalación de la biblioteca

Existen cuatro formas de descargar e instalar la biblioteca IronPDF. Son las siguientes:

  1. Uso de Visual Studio
  2. Símbolo del sistema para desarrolladores
  3. Descargue directamente el paquete NuGet
  4. Descargar la biblioteca .DLL de IronPDF

    Analicemos cada uno de ellos.

2.1 Utilización de Visual Studio

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

2.2 Uso del símbolo del sistema para desarrolladores

Otra forma de descargar e instalar IronPDF C# Library es hacer uso de los siguientes pasos para instalar el Paquete NuGet IronPDF 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:
  :ProductInstall
  • Pulse Intro
  • Esto descargará e instalará el paquete
  • Recarga tu proyecto de Visual Studio y empieza a utilizarlo

2.3. Descargue directamente el paquete NuGet

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:

  • Vaya a https://www.nuget.org/packages/IronPdf/
  • Seleccione Descargar paquete
  • Haga doble clic en el paquete descargado
  • El paquete se instalará
  • Recarga tu proyecto de Visual Studio y empieza a utilizarlo

2.4. Instale IronPDF descargando la biblioteca

Puede descargar directamente el archivo .DLL de IronPDF desde el sitio web. Puede descargarlo directamente de la página Descarga de IronPDF DLL.

Figura 6 - Descarga directa IronPDF C# Biblioteca

Haga referencia a la Biblioteca en su proyecto siguiendo los pasos siguientes:

  • Haga clic con el botón derecho en la solución en el Explorador de soluciones
  • Seleccionar referencias
  • Buscar la biblioteca IronPDF.dll
  • Haga clic en OK

    Todo hecho! IronPDF está descargado, instalado y listo para usar. Sin embargo, antes debemos instalar PDFCrowd API.

3.Instalación de la API PDFCrowd

Autenticación

La autenticación es necesaria para utilizar el cliente API de Pdfcrowd. Las credenciales utilizadas para acceder a la API son tu nombre de usuario de Pdfcrowd y la clave de la API.

Biblioteca cliente API de pdfcrowd para .NET

La biblioteca cliente API de Pdfcrowd permite ejecutar conversiones entre HTML, PDF y varios formatos de imagen. La biblioteca de clientes de la API .NET permite implementar fácilmente la API de Pdfcrowd en sus aplicaciones .NET.

Hay tres formas de instalar PDFCrowd API Client Library para .NET:

  1. Descarga directa del cliente Pdfcrowd en formato Zip
  2. A través del gestor de paquetes NuGet para el paquete cliente oficial de Pdfcrowd.
  3. El repositorio de Pdfcrowd en GitHub

    Echemos un vistazo a cada uno de ellos.

3.1 Descarga directa

Descargar pdfcrowd-5.2.0-dotnet.zipdescomprímelo y añade una referencia a pdfcrowd.dll a tu proyecto.

Haga referencia a la Biblioteca en su proyecto siguiendo los pasos siguientes:

  • Haga clic con el botón derecho en la solución en el Explorador de soluciones
  • Seleccionar referencias
  • Buscar la biblioteca pdfcrowd.dll
  • Haga clic en OK

3.2 El gestor de paquetes NuGet a través del símbolo del sistema para desarrolladores

Otra forma de descargar e instalar la API PDFCrowd es seguir los siguientes pasos para instalar el paquete PDFCrowd API Client NuGet utilizando el símbolo del sistema para desarrolladores.

  • Abrir Instrucción de comandos para desarrolladores - normalmente se encuentra en la carpeta Visual Studio
  • Escriba el siguiente comando: PM > Install-Package Pdfcrowd.official -Version 5.2.0
  • Pulse Intro
  • Esto descargará e instalará el paquete
  • Recarga tu proyecto de Visual Studio y empieza a utilizarlo

3.3 Repositorio GitHub

Para instalar PDFCrowd, puede clonar pdfcrowd-dotnet de Github y crea la biblioteca. Esta biblioteca cliente está licenciada bajo la Licencia MIT.

Utilice los siguientes comandos para crear la biblioteca PDFCrowd API Client:

  • git clone https://github.com/pdfcrowd/pdfcrowd-dotnet
  • cd pdfcrowd-dotnet
  • make.bat # en Windows
  • make all # en Unix

    Ahora que hemos creado el proyecto e instalado las bibliotecas necesarias, vamos a empezar a comparar las bibliotecas IronPDF y PDFCrowd en términos de código.

4. Crear un PDF a partir de una URL existente

Ambas bibliotecas ofrecen la posibilidad de convertir una página web HTML a PDF. Veamos el código de cada biblioteca una por una.

4.1. URL existente a PDF utilizando IronPDF

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();
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

Pdf.SaveAs("url.pdf");
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
using 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")
VB   C#

4.2 URL existente a PDF mediante PDFCrowd

Con PDFCrowd también es muy fácil convertir URL en documentos PDF. El siguiente código utiliza PDFCrowd para generar un documento PDF directamente desde una dirección web.

//  crear la instancia de cliente API
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

//  ejecutar la conversión y escribir el resultado en un archivo
client.convertUrlToFile("http://www.pdfcrowd.com", "ejemplo.pdf");
//  crear la instancia de cliente API
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

//  ejecutar la conversión y escribir el resultado en un archivo
client.convertUrlToFile("http://www.pdfcrowd.com", "ejemplo.pdf");
'  crear la instancia de cliente API
Dim client As New pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d")

'  ejecutar la conversión y escribir el resultado en un archivo
client.convertUrlToFile("http://www.pdfcrowd.com", "ejemplo.pdf")
VB   C#

5. Crear un PDF a partir de una cadena de entrada HTML

Tanto IronPDF como PDFCrowd 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.

5.1. Cadena de entrada HTML utilizando IronPDF

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();
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
PDF.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 
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");
var Renderer = new IronPdf.ChromePdfRenderer();
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
PDF.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 
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");
Dim Renderer = New IronPdf.ChromePdfRenderer()
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")
PDF.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 AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
AdvancedPDF.SaveAs("html-with-assets.pdf")
VB   C#

5.2. Cadena de entrada HTML con PDFCrowd

El siguiente código muestra que se puede generar un documento PDF utilizando una cadena que contenga HTML. La cadena de entrada HTML también se puede utilizar para convertir a PDF en memoria y escribir el PDF resultante en un flujo de salida.

//  crear la instancia de cliente API
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

//  ejecutar la conversión y escribir el resultado en un archivo
client.convertStringToFile("<html><body><h1>Hello World!</h1></body></html>", "HelloWorld.pdf");

//  ejecuta la conversión y almacena el resultado en la variable "pdf".
byte [] pdf = client.convertString("<html><body><h1>Hello World!</h1></body></html>");
//  en este punto, la variable "pdf" contiene los datos en bruto del PDF y
//  puede enviarse en una respuesta HTTP, guardarse en un archivo, etc.

//  crear un flujo de salida para el resultado de la conversión
FileStream outputStream = new FileStream("HelloWorld.pdf", FileMode.CreateNew);

//  ejecutar la conversión y escribir el resultado en el flujo de salida
client.convertStringToStream("<html><body><h1>Hello World!</h1></body></html>", outputStream);

//  cerrar el flujo de salida
outputStream.Close();
//  crear la instancia de cliente API
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

//  ejecutar la conversión y escribir el resultado en un archivo
client.convertStringToFile("<html><body><h1>Hello World!</h1></body></html>", "HelloWorld.pdf");

//  ejecuta la conversión y almacena el resultado en la variable "pdf".
byte [] pdf = client.convertString("<html><body><h1>Hello World!</h1></body></html>");
//  en este punto, la variable "pdf" contiene los datos en bruto del PDF y
//  puede enviarse en una respuesta HTTP, guardarse en un archivo, etc.

//  crear un flujo de salida para el resultado de la conversión
FileStream outputStream = new FileStream("HelloWorld.pdf", FileMode.CreateNew);

//  ejecutar la conversión y escribir el resultado en el flujo de salida
client.convertStringToStream("<html><body><h1>Hello World!</h1></body></html>", outputStream);

//  cerrar el flujo de salida
outputStream.Close();
'  crear la instancia de cliente API
Dim client As New pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d")

'  ejecutar la conversión y escribir el resultado en un archivo
client.convertStringToFile("<html><body><h1>Hello World!</h1></body></html>", "HelloWorld.pdf")

'  ejecuta la conversión y almacena el resultado en la variable "pdf".
Dim pdf() As Byte = client.convertString("<html><body><h1>Hello World!</h1></body></html>")
'  en este punto, la variable "pdf" contiene los datos en bruto del PDF y
'  puede enviarse en una respuesta HTTP, guardarse en un archivo, etc.

'  crear un flujo de salida para el resultado de la conversión
Dim outputStream As New FileStream("HelloWorld.pdf", FileMode.CreateNew)

'  ejecutar la conversión y escribir el resultado en el flujo de salida
client.convertStringToStream("<html><body><h1>Hello World!</h1></body></html>", outputStream)

'  cerrar el flujo de salida
outputStream.Close()
VB   C#

Convertir páginas ASPX a PDF

El siguiente código, tanto para IronPDF como para PDFCrowd, crea un documento PDF a partir de una página web ASP.NET.

6.1. Página ASPX a PDF usando IronPDF

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
VB   C#

6.2. Página ASPX a PDF usando PDFCrowd

El siguiente código convierte el archivo de página web ASPX a PDF utilizando PDFCrowd. Permite establecer cabeceras de respuesta HTTP completas y enviar el resultado en respuesta HTTP para visualizarlo en el navegador web como PDF.

//  crear la instancia de cliente API
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

//  ejecuta la conversión y almacena el resultado en la variable "pdf".
byte [] pdf = client.convertUrl("https://en.wikipedia.org");

//  establecer cabeceras de respuesta HTTP
Response.ContentType = "application/pdf";
Response.Headers.Add("Cache-Control", "max-age=0");
Response.Headers.Add("Accept-Ranges", "none");
Response.Headers.Add("Content-Disposition", "attachment; filename*=UTF-8''" + Uri.EscapeUriString("result.pdf"));

//  enviar el resultado en la respuesta HTTP
Response.OutputStream.Write(pdf, 0, pdf.Length);
Response.Flush();
//  crear la instancia de cliente API
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

//  ejecuta la conversión y almacena el resultado en la variable "pdf".
byte [] pdf = client.convertUrl("https://en.wikipedia.org");

//  establecer cabeceras de respuesta HTTP
Response.ContentType = "application/pdf";
Response.Headers.Add("Cache-Control", "max-age=0");
Response.Headers.Add("Accept-Ranges", "none");
Response.Headers.Add("Content-Disposition", "attachment; filename*=UTF-8''" + Uri.EscapeUriString("result.pdf"));

//  enviar el resultado en la respuesta HTTP
Response.OutputStream.Write(pdf, 0, pdf.Length);
Response.Flush();
'  crear la instancia de cliente API
Dim client As New pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d")

'  ejecuta la conversión y almacena el resultado en la variable "pdf".
Dim pdf() As Byte = client.convertUrl("https://en.wikipedia.org")

'  establecer cabeceras de respuesta HTTP
Response.ContentType = "application/pdf"
Response.Headers.Add("Cache-Control", "max-age=0")
Response.Headers.Add("Accept-Ranges", "none")
Response.Headers.Add("Content-Disposition", "attachment; filename*=UTF-8''" & Uri.EscapeUriString("result.pdf"))

'  enviar el resultado en la respuesta HTTP
Response.OutputStream.Write(pdf, 0, pdf.Length)
Response.Flush()
VB   C#

7. Convertir XML a PDF

El siguiente código toma XML y lo convierte a PDF para IronPDF y PDFCrowd API.

7.1. Convertir XML a PDF con IronPDF

C# XML a PDF directamente puede ser un reto complejo. Hemos comprobado que para convertir XML a PDF en C# es mejor empezar con XSLT. XML puede convertirse en PDF mediante HTML(5) mediante transformaciones XLST.

private void XMLtoPDF(string XSLT, string XML)
{
    XslCompiledTransform transform = new XslCompiledTransform();
    using(XmlReader reader = XmlReader.Create(new StringReader(XSLT)))  
    {
        transform.Load(reader);
    }
    StringWriter results = new StringWriter();
    using(XmlReader reader = XmlReader.Create(new StringReader(XML))) 
    {
        transform.Transform(reader, null, results);
    }
    IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
    //  las opciones, cabeceras y pies de página pueden configurarse allí
    //  Convertir nuestro XML en PDF mediante XSLT
    using var PDF = Renderer.RenderHtmlAsPdf(results.ToString())l
    PDF.SaveAs("XMLtoPDF.pdf");
}
private void XMLtoPDF(string XSLT, string XML)
{
    XslCompiledTransform transform = new XslCompiledTransform();
    using(XmlReader reader = XmlReader.Create(new StringReader(XSLT)))  
    {
        transform.Load(reader);
    }
    StringWriter results = new StringWriter();
    using(XmlReader reader = XmlReader.Create(new StringReader(XML))) 
    {
        transform.Transform(reader, null, results);
    }
    IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
    //  las opciones, cabeceras y pies de página pueden configurarse allí
    //  Convertir nuestro XML en PDF mediante XSLT
    using var PDF = Renderer.RenderHtmlAsPdf(results.ToString())l
    PDF.SaveAs("XMLtoPDF.pdf");
}
Private Sub XMLtoPDF(ByVal XSLT As String, ByVal XML As String)
	Dim transform As New XslCompiledTransform()
	Using reader As XmlReader = XmlReader.Create(New StringReader(XSLT))
		transform.Load(reader)
	End Using
	Dim results As New StringWriter()
	Using reader As XmlReader = XmlReader.Create(New StringReader(XML))
		transform.Transform(reader, Nothing, results)
	End Using
	Dim Renderer As New IronPdf.ChromePdfRenderer()
	'  las opciones, cabeceras y pies de página pueden configurarse allí
	'  Convertir nuestro XML en PDF mediante XSLT
	Dim PDF = Renderer.RenderHtmlAsPdf(results.ToString())l PDF.SaveAs("XMLtoPDF.pdf")
End Sub
VB   C#

La estructura del archivo XSLT es la siguiente:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <p>Titles:
    <xsl:for-each select="catalog/cd">
      <xsl:value-of select="title"/>
      <xsl:if test="position() < last()-1">
        <xsl:text>, </xsl:text>
      </xsl:if>
      <xsl:if test="position()=last()-1">
        <xsl:text>, and </xsl:text>
      </xsl:if>
      <xsl:if test="position()=last()">
        <xsl:text>!</xsl:text>
      </xsl:if>
    </xsl:for-each>
    </p>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <p>Titles:
    <xsl:for-each select="catalog/cd">
      <xsl:value-of select="title"/>
      <xsl:if test="position() < last()-1">
        <xsl:text>, </xsl:text>
      </xsl:if>
      <xsl:if test="position()=last()-1">
        <xsl:text>, and </xsl:text>
      </xsl:if>
      <xsl:if test="position()=last()">
        <xsl:text>!</xsl:text>
      </xsl:if>
    </xsl:for-each>
    </p>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2> My CD Collection</h2> <p> Titles: <xsl:for-@each @select="catalog/cd"> <xsl:value-@of @select="title"/> <xsl:if test="position() < last()-1"> <xsl:text>, </xsl:text> </xsl:if> <xsl:if test="position()=last()-1"> <xsl:text>, @and </xsl:text> </xsl:if> <xsl:if test="position()=last()"> <xsl:text>!</xsl:text> </xsl:if> </xsl:for-@each> </p> </body> </html> </xsl:template> </xsl:stylesheet>
VB   C#

7.2. Convertir XML a PDF con PDFCrowd

El cliente API de PDFCrowd permite la representación de plantillas HTML. La sintaxis de la plantilla se basa en el motor de renderizado de plantillas Jinja. El formato XML también es compatible con PDFCrowd API Client y se puede utilizar con esta sintaxis.

//  crear la instancia de cliente API
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("{{ user_name }}", "{{ api_key }}");

//  configurar la conversión
client.setDataString(@"<?xml version=""1.0"" encoding=""UTF-8""?>
        <data>
          <name>World</name>
          <product>Pdfcrowd API</product>
        </data>");

//  ejecutar la conversión y escribir el resultado en un archivo
client.convertStringToFile("Hello {{ data.name }} from {{ data.product }}", "output.pdf");
//  crear la instancia de cliente API
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("{{ user_name }}", "{{ api_key }}");

//  configurar la conversión
client.setDataString(@"<?xml version=""1.0"" encoding=""UTF-8""?>
        <data>
          <name>World</name>
          <product>Pdfcrowd API</product>
        </data>");

//  ejecutar la conversión y escribir el resultado en un archivo
client.convertStringToFile("Hello {{ data.name }} from {{ data.product }}", "output.pdf");
'  crear la instancia de cliente API
Dim client As New pdfcrowd.HtmlToPdfClient("{{ user_name }}", "{{ api_key }}")

'  configurar la conversión
client.setDataString("<?xml version=""1.0"" encoding=""UTF-8""?>
        <data>
          <name>World</name>
          <product>Pdfcrowd API</product>
        </data>")

'  ejecutar la conversión y escribir el resultado en un archivo
client.convertStringToFile("Hello {{ data.name }} from {{ data.product }}", "output.pdf")
VB   C#

8. Convertir imágenes a PDF

8.1. Convertir imágenes a PDF con IronPDF

En la biblioteca IronPDF, los documentos PDF pueden 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.
using var PDF = ImageToPdfConverter.ImageToPdf(ImageFiles);
PDF.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.
using var PDF = ImageToPdfConverter.ImageToPdf(ImageFiles);
PDF.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.
Dim PDF = ImageToPdfConverter.ImageToPdf(ImageFiles)
PDF.SaveAs("C:\project\composite.pdf")

'Consulte también el método PdfDocument.RasterizeToImageFiles() para convertir un PDF en imágenes o miniaturas.
VB   C#

8.2. Convertir imágenes a PDF con PDFCrowd

PDFCrowd también ofrece la posibilidad de convertir imágenes a PDF con una gran variedad de opciones. También ofrece una opción para convertir una imagen a partir de una URL. El siguiente código muestra cómo convertir una imagen a PDF desde el almacenamiento local.

//  crear la instancia de cliente API
pdfcrowd.ImageToPdfClient client = new pdfcrowd.ImageToPdfClient("your_username", "your_apikey");

//  ejecutar la conversión y escribir el resultado en un archivo
client.convertFileToFile("/path/to/logo.png", "logo.pdf");
//  crear la instancia de cliente API
pdfcrowd.ImageToPdfClient client = new pdfcrowd.ImageToPdfClient("your_username", "your_apikey");

//  ejecutar la conversión y escribir el resultado en un archivo
client.convertFileToFile("/path/to/logo.png", "logo.pdf");
'  crear la instancia de cliente API
Dim client As New pdfcrowd.ImageToPdfClient("your_username", "your_apikey")

'  ejecutar la conversión y escribir el resultado en un archivo
client.convertFileToFile("/path/to/logo.png", "logo.pdf")
VB   C#

9. Licencias

PDFCrowd es un servicio web que crea en línea archivos PDF a partir de otros formatos. Dispone de diferentes estructuras de precios, siendo la más baja de 11 $/mes por un límite de 200 créditos, donde 1 crédito equivale a 0,5 Mb de datos de salida. También puedes inscribirte para una prueba gratuita. Los precios detallados pueden consultarse aquí Página de precios de PDFCrowd.

IronPDF, por su parte, es una 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 soporte y actualizaciones del producto, validez para desarrollo/montaje/producción y también una licencia permanente. (compra única). El paquete Lite parte de $749. Los paquetes de IrondPDF son permanentes y no tienen costes continuos, mientras que, en comparación, PDFCrowd sí tiene costes continuos.

10. Resumen y conclusión

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.

PDFCrowd también convierte el HTML de cualquier formato a PDF con la máxima precisión y absolutamente sin tiempo de inactividad, ya que se ejecuta en servidores en la nube en múltiples ubicaciones. PDFCrowd es una API basada en web que ofrece un servicio en línea para convertir a PDF. Las bibliotecas cliente API del lado del servidor facilitan el uso de la API HTML a PDF de Pdfcrowd. Estas bibliotecas están disponibles en una gran variedad de lenguajes de programación del lado del servidor. Los precios se detallan en el sitio web.

Conclusión

IronPDF tiene una ligera ventaja sobre PDFCrowd, ya que puede trabajar sin conexión una vez instalado. IronPDF es muy recomendable para codificadores pragmáticos que busquen trabajar con eficacia y eficiencia. Y lo que es más importante, ahorra tiempo. PDFCrowd puede ser útil cuando se trabaja con PDF en diferentes lenguajes de servidor. Además, los paquetes de IronPDF proporcionan una licencia de por vida, y no hay costes continuos, mientras que PDFCrowd sí tiene costes continuos.

< ANTERIOR
Accusoft Prizmdoc PDF Viewer Tutorial y Comparación
SIGUIENTE >
IronPDF y Docraptor - Una comparación exhaustiva

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

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