COMPARACIóN DE PRODUCTOS

Comparación entre IronPDF y PDFCrowd

Publicado en 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 todo el mundo, 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

    IronPDF y PDFCrowd son bibliotecas que proporcionan métodos para crear, manipular y distribuir archivos PDFimprimir PDF en .NET y .NET Core. La siguiente cuestión es decidir quéLa biblioteca PDF de C# es la más adecuada 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

La solución IronPDF .NET PDF Library es un sueño para los desarrolladores, especialmente para 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, facilitaleer texto PDF y extraer imágenes.

Características destacadas de la biblioteca IronPDF C

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 especificaciones más recientes de 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
  • Conversión de 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. Instalación de la biblioteca IronPDF C#

  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 de 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

    Pdf Crowd 1 related to 1. Creación de un proyecto ASP.NET

    Figura 1 - Cuadro de diálogo Nuevo proyecto

  • En la siguiente pantalla, seleccione "Formularios web", como se muestra en la siguiente captura de pantalla.

    Pdf Crowd 2 related to 1. Creación de un proyecto ASP.NET

    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. Instalación de la librería IronPDF C

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.

Pdf Crowd 3 related to 2.1 Utilización de Visual Studio

Figura 3 - Menú Proyecto > Gestionar paquetes NuGet

Pdf Crowd 4 related to 2.1 Utilización de Visual Studio

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.

Pdf Crowd 5 related to 2.1 Utilización de Visual Studio

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 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:
  :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 ahttps://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 descargarse directamente de la páginaPágina de descarga de IronPDF DLL.

Pdf Crowd 6 related to 2.4. Instale IronPDF descargando la biblioteca

Figura 6 - Descarga directa de la biblioteca IronPDF C#

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 la API de PDFCrowd.

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 laAPI 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

Descargarpdfcrowd-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 clonarpdfcrowd-dotnet de GitHub y crear 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.

// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// run the conversion and write the result to a file
client.convertUrlToFile("http://www.pdfcrowd.com", "example.pdf");
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// run the conversion and write the result to a file
client.convertUrlToFile("http://www.pdfcrowd.com", "example.pdf");
' create the API client instance
Dim client As New pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d")

' run the conversion and write the result to a file
client.convertUrlToFile("http://www.pdfcrowd.com", "example.pdf")
VB   C#

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

Tanto IronPDF como PDFCrowd permiten generar archivos 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");

// Load external html assets: images, css, and javascript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
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");

// Load external html assets: images, css, and javascript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from 
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")

' 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 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.

// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// run the conversion and write the result to a file
client.convertStringToFile("<html><body><h1>Hello World!</h1></body></html>", "HelloWorld.pdf");

// run the conversion and store the result into the "pdf" variable
byte [] pdf = client.convertString("<html><body><h1>Hello World!</h1></body></html>");
// at this point the "pdf" variable contains PDF raw data and
// can be sent in an HTTP response, saved to a file, etc.

// create an output stream for the conversion result
FileStream outputStream = new FileStream("HelloWorld.pdf", FileMode.CreateNew);

// run the conversion and write the result into the output stream
client.convertStringToStream("<html><body><h1>Hello World!</h1></body></html>", outputStream);

// close the output stream
outputStream.Close();
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// run the conversion and write the result to a file
client.convertStringToFile("<html><body><h1>Hello World!</h1></body></html>", "HelloWorld.pdf");

// run the conversion and store the result into the "pdf" variable
byte [] pdf = client.convertString("<html><body><h1>Hello World!</h1></body></html>");
// at this point the "pdf" variable contains PDF raw data and
// can be sent in an HTTP response, saved to a file, etc.

// create an output stream for the conversion result
FileStream outputStream = new FileStream("HelloWorld.pdf", FileMode.CreateNew);

// run the conversion and write the result into the output stream
client.convertStringToStream("<html><body><h1>Hello World!</h1></body></html>", outputStream);

// close the output stream
outputStream.Close();
' create the API client instance
Dim client As New pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d")

' run the conversion and write the result to a file
client.convertStringToFile("<html><body><h1>Hello World!</h1></body></html>", "HelloWorld.pdf")

' run the conversion and store the result into the "pdf" variable
Dim pdf() As Byte = client.convertString("<html><body><h1>Hello World!</h1></body></html>")
' at this point the "pdf" variable contains PDF raw data and
' can be sent in an HTTP response, saved to a file, etc.

' create an output stream for the conversion result
Dim outputStream As New FileStream("HelloWorld.pdf", FileMode.CreateNew)

' run the conversion and write the result into the output stream
client.convertStringToStream("<html><body><h1>Hello World!</h1></body></html>", outputStream)

' close the output stream
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.

// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// run the conversion and store the result into the "pdf" variable
byte [] pdf = client.convertUrl("https://en.wikipedia.org");

// set HTTP response headers
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"));

// send the result in the HTTP response
Response.OutputStream.Write(pdf, 0, pdf.Length);
Response.Flush();
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d");

// run the conversion and store the result into the "pdf" variable
byte [] pdf = client.convertUrl("https://en.wikipedia.org");

// set HTTP response headers
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"));

// send the result in the HTTP response
Response.OutputStream.Write(pdf, 0, pdf.Length);
Response.Flush();
' create the API client instance
Dim client As New pdfcrowd.HtmlToPdfClient("demo", "ce544b6ea52a5621fb9d55f8b542d14d")

' run the conversion and store the result into the "pdf" variable
Dim pdf() As Byte = client.convertUrl("https://en.wikipedia.org")

' set HTTP response headers
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"))

' send the result in the HTTP response
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();
    // options, headers, and footers may be set there
    // Render our XML as a PDF via XSLT
    using var PDF = Renderer.RenderHtmlAsPdf(results.ToString());
    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();
    // options, headers, and footers may be set there
    // Render our XML as a PDF via XSLT
    using var PDF = Renderer.RenderHtmlAsPdf(results.ToString());
    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()
	' options, headers, and footers may be set there
	' Render our XML as a PDF via XSLT
	Dim PDF = Renderer.RenderHtmlAsPdf(results.ToString())
	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.

// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("{{ user_name }}", "{{ api_key }}");

// configure the conversion
client.setDataString(@"<?xml version=""1.0"" encoding=""UTF-8""?>
        <data>
          <name>World</name>
          <product>Pdfcrowd API</product>
        </data>");

// run the conversion and write the result to a file
client.convertStringToFile("Hello {{ data.name }} from {{ data.product }}", "output.pdf");
// create the API client instance
pdfcrowd.HtmlToPdfClient client = new pdfcrowd.HtmlToPdfClient("{{ user_name }}", "{{ api_key }}");

// configure the conversion
client.setDataString(@"<?xml version=""1.0"" encoding=""UTF-8""?>
        <data>
          <name>World</name>
          <product>Pdfcrowd API</product>
        </data>");

// run the conversion and write the result to a file
client.convertStringToFile("Hello {{ data.name }} from {{ data.product }}", "output.pdf");
' create the API client instance
Dim client As New pdfcrowd.HtmlToPdfClient("{{ user_name }}", "{{ api_key }}")

' configure the conversion
client.setDataString("<?xml version=""1.0"" encoding=""UTF-8""?>
        <data>
          <name>World</name>
          <product>Pdfcrowd API</product>
        </data>")

' run the conversion and write the result to a file
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.

// 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.
using var PDF = ImageToPdfConverter.ImageToPdf(ImageFiles);
PDF.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.
using var PDF = ImageToPdfConverter.ImageToPdf(ImageFiles);
PDF.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
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.

// create the API client instance
pdfcrowd.ImageToPdfClient client = new pdfcrowd.ImageToPdfClient("your_username", "your_apikey");

// run the conversion and write the result to a file
client.convertFileToFile("/path/to/logo.png", "logo.pdf");
// create the API client instance
pdfcrowd.ImageToPdfClient client = new pdfcrowd.ImageToPdfClient("your_username", "your_apikey");

// run the conversion and write the result to a file
client.convertFileToFile("/path/to/logo.png", "logo.pdf");
' create the API client instance
Dim client As New pdfcrowd.ImageToPdfClient("your_username", "your_apikey")

' run the conversion and write the result to a file
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 enPá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 IronPDF 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 IronPDF son permanentes y no entrañan 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. 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. Se trata de un producto 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.12 acaba de salir

Descarga gratuita de NuGet Descargas totales: 11,622,374 Ver licencias >