COMPARACIóN DE PRODUCTOS

Comparación entre IronPDF y PDFShift

Actualizado 25 de septiembre, 2022
Compartir:

El formato de documento portátil (PDF) es el formato de documento más popular para representar texto, enlaces, botones, gráficos y mucho más en un único documento. Manipular archivos PDF en el lenguaje de programación C# es casi imposible sin utilizar una API PDF para C#. En este artículo, exploraremos cómo interactuar y manipular documentos PDF utilizando dos API diferentes, y también compararemos ambas API en cuanto a su rendimiento, características y licencias.

Las API PDF de las que hablaremos en este artículo son:

  • IronPDF
  • PDFShift

1. IronPDF

IronPDF es una potente API de conversión de HTML a PDF. IronPDF es la solución ideal para convertir sitios HTML en desarrollo .NET y .NET Core. No sólo transforma HTML, sino que también tiene diversas funciones adicionales. IronPDF permite a los desarrolladores crear, modificar y recuperar documentos PDF en proyectos .NET Core y .NET Framework. Con el paquete IronPDF, los desarrolladores pueden producir o modificar fácilmente archivos PDF a partir de páginas HTML.

Un PDF se puede editar, sellar y añadir encabezados y pies de página fácilmente. También facilita increíblemente la lectura de texto en PDF y la extracción de imágenes. IronPDF utiliza un motor .NET Chromium para convertir páginas HTML en archivos PDF.

1.1. Características de IronPDF

1.1.1. Conversiones PDF

Esta función incluye la creación de PDF a partir de distintos formatos, como HTML, cadenas HTML, vistas MVC, formularios web y URL.

1.1.2. Imágenes en PDF

Esto permite a los usuarios crear imágenes a partir de PDF y crear PDF a partir de imágenes. Incluye extracción de imágenes, compatibilidad con distintas extensiones de imagen e impresión de PDF.

1.1.3. E/S de archivos PDF

IronPDF también ofrece funciones de cifrado de 128 bits, bloqueo con contraseñas y firma digital.

1.1.4. Edición de PDF

Esta función de IronPDF proporciona todo tipo de formato PDF, como añadir marcas de agua, añadir páginas, eliminar páginas, añadir fondos, añadir primeros planos y mucho más. En resumen, IronPDF proporciona todas las capacidades que necesita para manipular archivos PDF.

1.1.5. Extracción de contenido PDF

En muchos casos, puedes extraer directamente el texto incrustado de los PDF. Si no funciona, es probable que el texto esté incrustado en una imagen. Utilice la biblioteca IronOCR para escanear documentos en busca de texto visual, no texto plano.

1.1.6. Encabezados y pies de página

Los encabezados y pies de página pueden añadirse al crear un PDF o a PDF existentes. La propiedad Opciones de impresión permite crear un encabezado y un pie de página para cada página del documento. Acceda a estas opciones en el objeto Chrome PDF Renderer. Este ejemplo funciona dentro de una aplicación de consola .NET Core.

1.1.7. Compatibilidad

IronPDF es compatible con casi todos los sistemas operativos y marcos de trabajo compatibles con C#, incluidos los siguientes:

  • Windows
  • Linux
  • .NET Core 2.1, 3.0, 3.1, .NET 6 y 5
  • Cumplimiento de la norma .NET 2.0 para una compatibilidad universal
  • Microsoft Azure
  • Servicios web de Amazon (AWS)
  • Docker

2. PDFShift

PDFShift es una herramienta API de conversión de HTML a PDF que permite a las organizaciones convertir páginas HTML a PDF en cuestión de segundos. Las conversiones paralelas, las consultas asíncronas, la compatibilidad con HTML sin formato y otras funciones están disponibles a través de la herramienta API basada en un servidor en la nube. PDFShift es una solución fácil de usar que admite una amplia gama de lenguajes de desarrollo, como Ruby, Python, JavaScript, Node y PHP, para facilitar el proceso de conversión.

PDFShift permite a los clientes establecer encabezados y pies de página personalizados, aplicar CSS personalizado, cifrar archivos y mucho más para dar a las empresas un control total sobre sus conversiones.

2.1. PDFShift Características

2.1.1. Conversiones paralelas

PDFShift admite conversiones en paralelo, lo que permite a los usuarios convertir varios documentos a la vez para aumentar la velocidad de conversión.

2.1.2. Opciones avanzadas de encabezados y pies de página

Cree encabezados y pies de página personalizados con números de página, utilice CSS y JavaScript personalizados, cifre sus documentos y mucho más.

2.1.3. API de conversión de datos HTML sin procesar a PDF

PDFShift admite la conversión de HTML a PDF en bruto sin hacer públicas las páginas.

2.1.4. PDF de alta precisión

PDFShift convierte HTML en documentos PDF de alta fidelidad en cuestión de segundos.

2.1.5. Solicitudes asíncronas

Para recibir una alerta cuando se complete una conversión, utilice nuestro sofisticado sistema en tiempo real. Utilice la potente API de PDFShift para convertir HTML a PDF e integrar el sistema con sólo tres líneas de código.

3. Creación de un nuevo proyecto en Visual Studio

Abra el software Visual Studio y vaya al menú Archivo. Seleccione "nuevo proyecto" y, a continuación, seleccione aplicación de consola. En este artículo, vamos a utilizar una aplicación de consola para generar documentos PDF.

Introduzca el nombre del proyecto y seleccione la ruta en el cuadro de texto correspondiente. A continuación, haz clic en el botón Crear. Seleccione el marco .NET necesario, como en la siguiente captura de pantalla:

El proyecto de Visual Studio generará ahora la estructura para la aplicación seleccionada y, si ha seleccionado la aplicación de consola, Windows y web, abrirá el archivo program.cs donde podrá introducir el código y compilar/ejecutar la aplicación.

Ahora podemos añadir la biblioteca y probar el programa.

4. Instalar la librería IronPDF

La biblioteca IronPDF puede descargarse e instalarse de cuatro formas diferentes. Estos son:

  • Uso del gestor de paquetes NuGet de Visual Studio
  • Uso de la línea de comandos de Visual Studio.
  • Descarga directa desde la página web de NuGet.
  • Descarga directa desde la página web de IronPDF.

4.1 Uso del gestor de paquetes NuGet de Visual Studio

El software Visual Studio proporciona la opción NuGet Package Manager para instalar el paquete directamente en la solución. La siguiente captura de pantalla muestra cómo abrir el Gestor de paquetes NuGet.

Proporciona un cuadro de búsqueda para mostrar la lista de bibliotecas de paquetes disponibles en el sitio web de NuGet. En el gestor de paquetes, tenemos que buscar la palabra clave "IronPDF", como en la siguiente captura de pantalla

En la imagen anterior, podemos ver la lista de paquetes relacionados a partir de la búsqueda. Debemos seleccionar la opción IronPDF e instalar el paquete en nuestra solución.

4.2 Uso de la línea de comandos de Visual Studio

En el menú de Visual Studio, vaya a Herramientas > Gestor de paquetes NuGet > Consola del gestor de paquetes

Introduzca la siguiente línea en la pestaña de la consola del gestor de paquetes:

Install-Package IronPdf

Ahora el paquete se descargará/instalará en el proyecto actual y estará listo para su uso.

4.3 Descarga directa desde la página web de NuGet

La tercera forma es descargar el paquete NuGet directamente desde la página web.

  • Navegar hasta el enlace https://www.nuget.org/packages/IronPdf/
  • Seleccione la opción de descarga de paquetes en el menú de la derecha.
  • Haga doble clic en el paquete descargado; se instalará automáticamente.
  • Ahora vuelva a cargar la solución y comience a utilizarla en el proyecto.

4.4 Descarga directa desde la página web de IronPDF

Haga clic en el botón enlace aquí para descargar el último paquete directamente de la página web. Tras la descarga, siga los pasos que se indican a continuación para añadir el paquete al proyecto.

  • Haga clic con el botón derecho del ratón en el proyecto de la ventana de la solución.
  • A continuación, seleccione la opción Referencia y busque la ubicación de la referencia descargada.
  • A continuación, haga clic en Aceptar para añadir la referencia.

5. PDFShift Funcionamiento

PDFShift no puede integrarse en un proyecto, sino que funciona a distancia. Debe enviar una solicitud POST a la API de PDFShift utilizando el paquete RestClient de C# simplemente proporcionando su clave de API como argumento de usuario de autenticación simple. El servidor recibe su solicitud, la procesa, y devuelve el archivo de salida todo, y el trabajo en la API de conversión de PDF se realiza por HTTP post solicitud. PDFShift ofrece una API en muchos idiomas y trabaja a distancia para todos ellos.

6. Hacer PDF a partir de HTML

Ambas herramientas incluyen esta funcionalidad para la conversión a HTML, aunque lo hacen de formas algo diferentes.

6.1. Creación de PDF a partir de URL con IronPDF

Crear un archivo PDF en C# utilizando una URL es tan fácil como en el ejemplo anterior con sólo estas tres líneas de código. El siguiente código demostrará cómo crear archivos PDF a partir de una URL.

using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
//  Crear un PDF a partir de una URL o una ruta de archivo local
using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
//  Exportar a un archivo o Stream
pdf.SaveAs("url.pdf");
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
//  Crear un PDF a partir de una URL o una ruta de archivo local
using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
//  Exportar a un archivo o Stream
pdf.SaveAs("url.pdf");
Imports IronPdf
Private Renderer = New IronPdf.ChromePdfRenderer()
'  Crear un PDF a partir de una URL o una ruta de archivo local
Private pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")
'  Exportar a un archivo o Stream
pdf.SaveAs("url.pdf")
VB   C#

Este es el resultado del código anterior.

6.2. HTML a PDF con IronPDF

Es bastante fácil convertir HTML a PDF utilizando la biblioteca IronPDF C# .NET.

var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
mypdf.SaveAs("FirstPDFDocument.pdf");
var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
mypdf.SaveAs("FirstPDFDocument.pdf");
Dim pdf = New ChromePdfRenderer()
Dim doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>")
mypdf.SaveAs("FirstPDFDocument.pdf")
VB   C#

6.3. Creación de un PDF a partir de una URL con PDFShift

Convertir una URL con PDFShift es muy fácil. Todo lo que tiene que hacer es enviar una solicitud POST con el parámetro de origen establecido en la URL, como en el caso siguiente:

using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;

namespace PDFShiftExample
{
  class Program
  {
      static void Main(string [] args)
      {
          IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
          client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

          IRestRequest request = new RestRequest(Method.POST);

          var json = new
          {
              source = "https://www.example.com"
          };
          request.AddJsonBody(json);

          IRestResponse response = client.Execute(request);
          if (!response.IsSuccessful)
          {
              //  Compruebe por qué el estado no es int 2xx.
          }
          else
          {
              File.WriteAllBytes("result.pdf", response.RawBytes);
          }
      }
  }
}
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;

namespace PDFShiftExample
{
  class Program
  {
      static void Main(string [] args)
      {
          IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
          client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

          IRestRequest request = new RestRequest(Method.POST);

          var json = new
          {
              source = "https://www.example.com"
          };
          request.AddJsonBody(json);

          IRestResponse response = client.Execute(request);
          if (!response.IsSuccessful)
          {
              //  Compruebe por qué el estado no es int 2xx.
          }
          else
          {
              File.WriteAllBytes("result.pdf", response.RawBytes);
          }
      }
  }
}
Imports System
Imports RestSharp
Imports Newtonsoft.Json
Imports System.IO
Imports RestSharp.Authenticators
Imports RestSharp.Serialization
Imports System.Net.Mail
Imports System.Net
Imports System.Collections.Generic
Imports Newtonsoft.Json.Linq

Namespace PDFShiftExample
  Friend Class Program
	  Shared Sub Main(ByVal args() As String)
		  Dim client As IRestClient = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
		  client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")

		  Dim request As IRestRequest = New RestRequest(Method.POST)

		  Dim json = New With {Key .source = "https://www.example.com"}
		  request.AddJsonBody(json)

		  Dim response As IRestResponse = client.Execute(request)
		  If Not response.IsSuccessful Then
			  '  Compruebe por qué el estado no es int 2xx.
		  Else
			  File.WriteAllBytes("result.pdf", response.RawBytes)
		  End If
	  End Sub
  End Class
End Namespace
VB   C#

6.4. HTML a PDF con PDFShift

PDFShift también ofrece conversión directa de HTML a PDF, pero lee el contenido HTML de archivos HTML.

namespace PDFShiftExample
{
  class Program
  {
      static void Main(string [] args)
      {
          IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
          client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

          IRestRequest request = new RestRequest(Method.POST);

          string documentContent = File.ReadAllText("document.html");
          var json = new
          {
              source = documentContent
          };
          request.AddJsonBody(json);

          IRestResponse response = client.Execute(request);
          if (!response.IsSuccessful)
          {
              //  Compruebe por qué el estado no es int 2xx.
          }
          else
          {
              File.WriteAllBytes("result.pdf", response.RawBytes);
          }
      }
  }
}
namespace PDFShiftExample
{
  class Program
  {
      static void Main(string [] args)
      {
          IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
          client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

          IRestRequest request = new RestRequest(Method.POST);

          string documentContent = File.ReadAllText("document.html");
          var json = new
          {
              source = documentContent
          };
          request.AddJsonBody(json);

          IRestResponse response = client.Execute(request);
          if (!response.IsSuccessful)
          {
              //  Compruebe por qué el estado no es int 2xx.
          }
          else
          {
              File.WriteAllBytes("result.pdf", response.RawBytes);
          }
      }
  }
}
Namespace PDFShiftExample
  Friend Class Program
	  Shared Sub Main(ByVal args() As String)
		  Dim client As IRestClient = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
		  client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")

		  Dim request As IRestRequest = New RestRequest(Method.POST)

		  Dim documentContent As String = File.ReadAllText("document.html")
		  Dim json = New With {Key .source = documentContent}
		  request.AddJsonBody(json)

		  Dim response As IRestResponse = client.Execute(request)
		  If Not response.IsSuccessful Then
			  '  Compruebe por qué el estado no es int 2xx.
		  Else
			  File.WriteAllBytes("result.pdf", response.RawBytes)
		  End If
	  End Sub
  End Class
End Namespace
VB   C#

7. Encabezados y pies de página personalizados

Añadir encabezados y pies de página a los PDF es imprescindible cuando se trabaja con archivos PDF. Las dos herramientas analizadas admiten esta opción.

7.1. Encabezados y pies de página personalizados con IronPDF

Con IronPDF puede añadir encabezados y pies de página de dos formas distintas.

TextHeaderFooter permite añadir cabeceras basadas en texto, con la opción de fusionar datos dinámicos.

HtmlHeaderFooter permite al desarrollador renderizar encabezados y pies de página HTML en archivos PDF, permitiendo también la creación de plantillas con datos dinámicos. Es más flexible pero más difícil de usar.

using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.FirstPageNumber = 1; //  utilice 2 si se va a adjuntar una portada
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.FirstPageNumber = 1; //  utilice 2 si se va a adjuntar una portada
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
Imports IronPdf
Private Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.FirstPageNumber = 1 '  utilice 2 si se va a adjuntar una portada
Renderer.RenderingOptions.TextHeader.DrawDividerLine = True
Renderer.RenderingOptions.TextHeader.CenterText = "{url}"
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica
Renderer.RenderingOptions.TextHeader.FontSize = 12
VB   C#

7.2. Encabezados y pies de página personalizados con PDFShift

Puede personalizar el documento resultante añadiendo un encabezado o un pie de página personalizados. Se utilizan con frecuencia para identificar la página actual o mostrar el logotipo de su empresa en cada página.

using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;

namespace PDFShiftExample
{
  class Program
  {
      static void Main(string [] args)
      {
          IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
          client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

          IRestRequest request = new RestRequest(Method.POST);

          var json = new
          {
              source = "https://quillbot.com/",
              footer = new { source = "<div style=\"font-size: 12px\">Page {{page}} of {{total}}</div>", spacing = "50px" }
          };
          request.AddJsonBody(json);

          IRestResponse response = client.Execute(request);
          if (!response.IsSuccessful)
          {
              //  Compruebe por qué el estado no es int 2xx.
          }
          else
          {
              File.WriteAllBytes("result.pdf", response.RawBytes);
          }
      }
  }
}
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;

namespace PDFShiftExample
{
  class Program
  {
      static void Main(string [] args)
      {
          IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
          client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

          IRestRequest request = new RestRequest(Method.POST);

          var json = new
          {
              source = "https://quillbot.com/",
              footer = new { source = "<div style=\"font-size: 12px\">Page {{page}} of {{total}}</div>", spacing = "50px" }
          };
          request.AddJsonBody(json);

          IRestResponse response = client.Execute(request);
          if (!response.IsSuccessful)
          {
              //  Compruebe por qué el estado no es int 2xx.
          }
          else
          {
              File.WriteAllBytes("result.pdf", response.RawBytes);
          }
      }
  }
}
Imports System
Imports RestSharp
Imports Newtonsoft.Json
Imports System.IO
Imports RestSharp.Authenticators
Imports RestSharp.Serialization
Imports System.Net.Mail
Imports System.Net
Imports System.Collections.Generic
Imports Newtonsoft.Json.Linq

Namespace PDFShiftExample
  Friend Class Program
	  Shared Sub Main(ByVal args() As String)
		  Dim client As IRestClient = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
		  client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")

		  Dim request As IRestRequest = New RestRequest(Method.POST)

		  Dim json = New With {
			  Key .source = "https://quillbot.com/",
			  Key .footer = New With {
				  Key .source = "<div style=""font-size: 12px"">Page {{page}} of {{total}}</div>",
				  Key .spacing = "50px"
			  }
		  }
		  request.AddJsonBody(json)

		  Dim response As IRestResponse = client.Execute(request)
		  If Not response.IsSuccessful Then
			  '  Compruebe por qué el estado no es int 2xx.
		  Else
			  File.WriteAllBytes("result.pdf", response.RawBytes)
		  End If
	  End Sub
  End Class
End Namespace
VB   C#

9. Marca de agua

Poner una marca de agua a un PDF utilizando un lenguaje de programación es una tarea bastante difícil. Tanto IronPDF como PDFShift admiten marcas de agua en PDF.

9.1. Marca de agua con IronPDF

IronPDF proporciona métodos para 'marcar con agua' documentos PDF con HTML. Las marcas de agua pueden colocarse por encima o por debajo del contenido existente, y llevan incorporadas funciones de opacidad, rotación e hipervínculos.

using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();

using var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", IronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();

using var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", IronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
Private Renderer = New IronPdf.ChromePdfRenderer()

Private Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", IronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf")
Pdf.SaveAs("C:\Path\To\Watermarked.pdf")
VB   C#

9.2. Marca de agua con PDFShift

Los usuarios necesitan una marca de agua para identificarse claramente en los PDF.

using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;

namespace PDFShiftExample
{
  class Program
  {
      static void Main(string [] args)
      {
          IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
          client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

          IRestRequest request = new RestRequest(Method.POST);

          var json = new
          {
              source = "https://www.example.com",
              watermark = new { image = "https://pdfshift-dev.netlify.com/images/logo/logo-violet.png", offset_x = 50, offset_y = "100px", rotate = 45 }

          };
          request.AddJsonBody(json);

          IRestResponse response = client.Execute(request);
          if (!response.IsSuccessful)
          {
              //  Compruebe por qué el estado no es int 2xx.
          }
          else
          {
              File.WriteAllBytes("result.pdf", response.RawBytes);
          }
      }
  }
}
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;

namespace PDFShiftExample
{
  class Program
  {
      static void Main(string [] args)
      {
          IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
          client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");

          IRestRequest request = new RestRequest(Method.POST);

          var json = new
          {
              source = "https://www.example.com",
              watermark = new { image = "https://pdfshift-dev.netlify.com/images/logo/logo-violet.png", offset_x = 50, offset_y = "100px", rotate = 45 }

          };
          request.AddJsonBody(json);

          IRestResponse response = client.Execute(request);
          if (!response.IsSuccessful)
          {
              //  Compruebe por qué el estado no es int 2xx.
          }
          else
          {
              File.WriteAllBytes("result.pdf", response.RawBytes);
          }
      }
  }
}
Imports System
Imports RestSharp
Imports Newtonsoft.Json
Imports System.IO
Imports RestSharp.Authenticators
Imports RestSharp.Serialization
Imports System.Net.Mail
Imports System.Net
Imports System.Collections.Generic
Imports Newtonsoft.Json.Linq

Namespace PDFShiftExample
  Friend Class Program
	  Shared Sub Main(ByVal args() As String)
		  Dim client As IRestClient = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
		  client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")

		  Dim request As IRestRequest = New RestRequest(Method.POST)

		  Dim json = New With {
			  Key .source = "https://www.example.com",
			  Key .watermark = New With {
				  Key .image = "https://pdfshift-dev.netlify.com/images/logo/logo-violet.png",
				  Key .offset_x = 50,
				  Key .offset_y = "100px",
				  Key .rotate = 45
			  }
		  }
		  request.AddJsonBody(json)

		  Dim response As IRestResponse = client.Execute(request)
		  If Not response.IsSuccessful Then
			  '  Compruebe por qué el estado no es int 2xx.
		  Else
			  File.WriteAllBytes("result.pdf", response.RawBytes)
		  End If
	  End Sub
  End Class
End Namespace
VB   C#

9. Licencias

IronPDF es una biblioteca que ofrece una licencia gratuita para desarrolladores. IronPDF también ofrece una estructura de precios especial: el paquete ligero comienza en $749, sin costes ocultos. También es posible redistribuir productos SaaS y 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 software, validez para desarrollo/pruebas/ejecución/producción y una licencia perpetua. (compra única). Las licencias IronPDF ofrecen el máximo rendimiento para las necesidades del usuario. Vaya a este enlace para ver toda la estructura de precios y licencias de IronPDF.

La API de conversión de PDF de PDFShift ofrece cinco paquetes de licencias diferentes, tanto mensuales como anuales. Para adquirir los distintos paquetes se utiliza un sistema de "créditos", cuyos detalles se detallan a continuación:

  1. Paquete gratuito (50 créditos al mes)
  2. Inicio (500 créditos al mes por 9 $ y 6.000 créditos al año por 99 $.)
  3. Boost (2.500 créditos al mes por 24 $ y 30.000 créditos al año por 240 $.)
  4. Crecimiento (5.000 créditos al mes por 39 $ y 60.000 créditos al año por 390 $.)
  5. Negocios (25.000 créditos al mes por 99)

    También hay límites en el tamaño de los archivos: el paquete gratuito tiene un límite de 1MB por archivo, mientras que para los otros paquetes el límite es de 5MB por archivo.

    Para más información y precios, visite enlace.

10. Conclusión

IronPDF es una aplicación gratuita para desarrolladores indie que ofrece una gran variedad de funciones y la capacidad de modificar archivos PDF y convertirlos a otros formatos. IronPDF proporciona las mejores herramientas de edición y formateo para el procesamiento de PDF. Convierte los resultados de HTML a PDF en un archivo vectorial apto para la impresión comercial de alta calidad. Como resultado, obtendrá un PDF claro y de alta calidad. Esta página contiene información sobre licencias y precios.

PDFShift es una API de conversión de HTML a PDF de alta calidad, fidelidad y potencia. Ofrece un punto final fácil de aprender con una serie de herramientas que se acercan a un conjunto completo de funciones, así como un paquete para varios idiomas. PDFShift utiliza postMessage para enviar solicitudes al servidor que puede gestionar la conversión paralela de documentos, lo que significa que puede convertir varios documentos al mismo tiempo.

Las licencias de IronPDF están basadas en el desarrollador, lo que significa que siempre debe adquirir una licencia basada en el número de desarrolladores que utilizarán el producto. Por otro lado, las licencias de PDFShift se basan en créditos mensuales y anuales, lo que significa que recibirá créditos específicos al mes en función del paquete suscrito. IronPDF admite OME y la distribución SaaS, cosa que PDFShift no hace. Las licencias de IronPDF se compran una sola vez y se pueden utilizar de por vida, mientras que PDFShift ofrece licencias mensuales y anuales.

Tras una rápida comparación de ambas herramientas, podemos concluir que la biblioteca IronPDF ofrece sustancialmente más funciones que PDFShift. PDFShift sólo ofrece un pequeño número de funciones para manipular PDF. IronPDF convierte URLs a PDF con sólo tres líneas de código, pero PDFShift necesita muchas más líneas de código para poder realizar la misma tarea. Integrar IronPDF es fácil y puede hacerse en sólo unos minutos. PDFShift funciona en un sistema basado en la nube y no necesita integrarse; sin embargo, depende de otras API como Rest Sharp, por lo que, de hecho, es un procedimiento complejo.

Además, Iron Software ofrece actualmente un paquete de cinco herramientas por el precio de sólo dos. Las herramientas incluidas en Iron Suite son:

  • IronBarcode
  • IronXL
  • IronOCR
  • IronPDF
  • IronWebScraper

    Visite este enlace para explorar la IRONSUITE.

< ANTERIOR
Comparación entre IronPDF y NReco .NET Core
SIGUIENTE >
Comparación entre IronPDF y SautinSoft PDF Focus

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

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