COMPARACIóN DE PRODUCTOS

Comparación entre Compdfkit y IronPDF

Chipego
Chipego Kalinda
13 de agosto, 2024
Compartir:

PDF, abreviatura de Portable Document Format, es un tipo de archivo creado por Adobe para garantizar la uniformidad en el intercambio de documentos. Este formato mantiene la coherencia del diseño, el texto y las imágenes en distintos dispositivos y sistemas operativos. Los PDF son conocidos por su seguridad, sus funciones interactivas y su tamaño compacto, lo que los hace perfectos para distribuir documentos sin alterar el contenido original.

Para los desarrolladores que utilizan C#, las bibliotecas PDF ofrecen soluciones PDF para trabajar con archivos PDF. Estas bibliotecas permiten crear documentos, modificar contenidos y extraer textos e imágenes. También admiten funciones como la gestión de formularios, la firma digital y la compatibilidad entre distintas plataformas. Diseñadas para un rendimiento óptimo, estas bibliotecas facilitan el procesamiento eficaz de PDF.

En este artículo, compararemos dos bibliotecas PDF de C#: IronPDF y ComPDFKit. Esta comparación cubrirá características, funcionalidad, ejemplos de código y licencias. Si examina estos aspectos, podrá determinar qué biblioteca se adapta mejor a sus proyectos relacionados con PDF.

1. SDK de ComPDFKit

Una Comparación Entre Compdfkit e IronPDF: Figura 1 - Página de inicio de ComPDFKIT SDK

ComPDFKit PDF SDK es un robusto SDK para PDF en C# que permite a los desarrolladores integrar completas funcionalidades PDF en sus aplicaciones. Esta biblioteca es compatible con una amplia gama de funciones PDF necesarias para manejar documentos PDF mediante programación. Está diseñado para su uso en diversos entornos, como plataformas web, de escritorio y móviles, lo que lo convierte en una herramienta versátil para los desarrolladores que trabajan en proyectos multiplataforma. Tiene múltiples funciones en la solución de ejemplo. Puede seleccionar cualquier función relacionada de ComPDFKit PDF SDK que desee probar.

1.1 Principales características de ComPDFKit

  1. Visualización de PDF: ComPDFKit ofrece un visor de PDF potente que permite a los usuarios ver documentos PDF con alta fidelidad. El visor permite desplazarse, ampliar y navegar sin problemas, lo que garantiza una experiencia de usuario fluida.

  2. Anotaciones: La biblioteca incluye herramientas para integrar anotaciones en PDF sin problemas. Los usuarios pueden resaltar texto, añadir comentarios y crear diversos tipos de anotaciones, esenciales para los flujos de trabajo colaborativos.

  3. Manejo de Formularios: La biblioteca ofrece un soporte extenso para formularios interactivos. Los desarrolladores pueden crear, rellenar y extraer datos de formularios PDF, por lo que resulta ideal para aplicaciones que requieren el procesamiento de formularios.

  4. Edición de PDF: ComPDFKit permite amplias capacidades de edición de PDF, incluyendo la modificación de texto, imágenes y otros contenidos dentro de archivos PDF. Esta función es útil para aplicaciones que necesitan actualizar o personalizar documentos PDF existentes.

  5. Conversión: La biblioteca admite la conversión de archivos PDF hacia y desde varios formatos como Word, Excel, PowerPoint e imágenes. Esta flexibilidad es vital para las aplicaciones que necesitan transformar contenidos PDF para distintos usos.

  6. Seguridad: ComPDFKit incluye características de seguridad robustas, como la encriptación y la gestión de permisos. Los desarrolladores pueden asegurar los documentos PDF para proteger la información confidencial de accesos no autorizados.

  7. Reconocimiento Óptico de Caracteres (OCR): La biblioteca incluye capacidades de OCR para convertir documentos escaneados en PDFs editables y buscables. Esta función es esencial para digitalizar documentos en papel y hacerlos accesibles electrónicamente.

    ComPDFKit proporciona un amplio conjunto de API que agilizan la integración de estas funciones en diversas aplicaciones. Su amplia documentación y asistencia lo convierten en una excelente opción para los desarrolladores que deseen incorporar funciones avanzadas de PDF a sus proyectos

2. Biblioteca IronPDF

Una Comparación Entre Compdfkit e IronPDF: Figura 2 - Página de inicio de IronPDF

IronPDF es una biblioteca PDF versátil para .NET que permite a los desarrolladores crear, editar y gestionar documentos PDF utilizando C#. Proporciona funciones PDF completas. Está diseñado para simplificar la generación de PDFs a partir de HTML, CSS, JavaScript y varios formatos de imagen. Esto la convierte en una herramienta ideal para los desarrolladores que deseen integrar sólidas funciones PDF en sus aplicaciones .NET.

Características principales de IronPDF

  1. Conversión de HTML a PDF: IronPDF destaca en la conversión de contenido HTML, CSS y JavaScript en documentos PDF de alta calidad. Esta función es compatible con cadenas de HTML a PDF, URL, formularios web ASPX y vistas MVC, lo que la convierte en una solución flexible para varios contenidos basados en la web.

  2. Edición de PDF: La biblioteca ofrece amplias capacidades de edición, incluyendo la adición, copia y eliminación de páginas, combinación y división de PDFs, y manipulación de texto e imágenes. Los desarrolladores también pueden añadir encabezados, pies de página, marcas de agua y firmas digitales a los documentos PDF.

  3. Manejo de Formularios: IronPDF admite la creación de formularios inteligentes y el llenado programático de formularios PDF. Esta función es esencial para las aplicaciones que requieren la generación dinámica de formularios y la extracción de datos de los formularios enviados por los usuarios.

  4. Funciones de seguridad: IronPDF ofrece opciones de seguridad robustas, como establecer contraseñas y permisos, encriptar documentos y agregar firmas digitales. Estas funciones garantizan que la información confidencial de los documentos PDF esté protegida frente a accesos no autorizados.

  5. OCR y Extracción de Datos: La biblioteca incluye capacidades de Reconocimiento Óptico de Caracteres (OCR), lo que permite la conversión de documentos escaneados en PDFs editables y con capacidad de búsqueda. Además, IronPDF puede extraer texto, imágenes y otros datos de PDF existentes, lo que facilita la reutilización y el análisis de contenidos.

  6. Conversión de Imágenes: IronPDF admite la conversión de diversos formatos de imagen, incluidos JPG, PNG, GIF, BMP y SVG, en documentos PDF. También ofrece la posibilidad de representar páginas PDF como imágenes, lo que resulta útil para aplicaciones que requieren previsualizaciones visuales del contenido PDF.

  7. Compatibilidad multiplataforma: IronPDF es compatible con múltiples plataformas .NET, incluyendo .NET Core, .NET Framework y .NET Standard. Admite la implementación en Windows, Linux, macOS y Azure, lo que la convierte en una opción versátil para los desarrolladores que trabajan en diversos entornos.

  8. Optimización del rendimiento: La biblioteca está diseñada para alto rendimiento, con soporte para multithreading y operaciones asíncronas. Esto garantiza que las tareas de procesamiento de PDF se ejecuten con eficacia, incluso en aplicaciones con grandes cargas de trabajo.

  9. Documentación y Soporte Integral: IronPDF ofrece documentación detallada y numerosos ejemplos de código, facilitando a los desarrolladores comenzar e implementar sus características. Además, ofrece asistencia técnica para solucionar cualquier problema que pueda surgir durante el desarrollo.

3. Crear un nuevo proyecto de Visual Studio

Antes de profundizar en los ejemplos de codificación, vamos a crear un nuevo proyecto de Visual Studio. Aquí tienes una guía paso a paso para configurar una aplicación de consola de C# en Visual Studio.

Paso 1: Instale Visual Studio (si no lo tiene ya instalado)

Visual Studio es el mejor IDE para proyectos en C#. Si aún no lo has descargado e instalado, descárgalo desde esta página de descargas de Visual Studio.

Paso 2: Abra Visual Studio

Después de instalar Visual Studio, ábralo. Si tienes Visual Studio Community, puedes iniciar sesión o continuar sin iniciar sesión.

Paso 3: Crear un nuevo proyecto

  1. Haga clic en "Crear un nuevo proyecto" o vaya a Archivo > Nuevo > Proyecto.

    Una comparación entre Compdfkit e IronPDF: Figura 3 - Una comparación entre IronPDF y DinkToPdf: Figura 1

  2. Busque la aplicación Consola en la barra de búsqueda y seleccione la aplicación Consola en los resultados de la búsqueda.

    Una comparación entre Compdfkit e IronPDF: Figura 4 - Una comparación entre IronPDF y DinkToPdf: Figura 2 - En el cuadro de diálogo Crear un nuevo proyecto, seleccione la aplicación de consola C# y haga clic en Siguiente.

  3. Elija la plantilla de proyecto que mejor se adapte a sus necesidades. Para una aplicación de consola básica, puede elegir "Console App (.NET Framework)".

  4. Indique el nombre y la ubicación de almacenamiento del proyecto. También puede establecer el nombre de la solución.

  5. Elija el marco de trabajo de destino adecuado y haga clic en "Crear" para generar su proyecto.

4. Instalar IronPDF

La integración de IronPDF en su proyecto puede realizarse a través de varios métodos, cada uno de los cuales proporciona una experiencia de configuración perfecta.

  1. Para utilizar el gestor de paquetes NuGet de Visual Studio, empieza por hacer clic con el botón derecho en "Dependencias" en tu solución y selecciona "Gestionar paquetes NuGet." En la pestaña "Examinar", busque "IronPDF" e instale la última versión para su proyecto.

    Una Comparación entre Compdfkit e IronPDF: Figura 5 - Buscar IronPDF utilizando el Administrador de paquetes NuGet

  2. Como alternativa, puede utilizar la consola del gestor de paquetes NuGet. Para abrir la consola, vaya a Herramientas > Gestor de paquetes NuGet > Consola del gestor de paquetes en Visual Studio. Una vez abierta la consola, ejecute el comando:
    Install-Package IronPdf

Este enfoque proporciona una forma rápida de instalar la biblioteca utilizando una simple línea de comandos.

Una Comparación Entre Compdfkit e IronPDF: Figura 6 - Usando la línea de comandos ingresa el comando anterior

  1. Para aquellos que prefieren descargar directamente desde el sitio web de NuGet, visiten la página del paquete NuGet de IronPDF. Desde allí, puede descargar el archivo del paquete. Tras la descarga, haga doble clic en el archivo para añadirlo al proyecto y, a continuación, vuelva a cargar la solución para completar la integración.

  2. Otro método es descargar directamente la última versión de IronPDF. Así se asegura de tener el paquete más actualizado. Siga las instrucciones proporcionadas en el sitio web para integrar manualmente IronPDF en su proyecto de Visual Studio.

    Siguiendo cualquiera de estos métodos, podrá integrar IronPDF de forma eficaz en su proyecto .NET.

5. Instalar ComPDFKit C#

Hay dos métodos principales para añadir ComPDFKit a su proyecto: utilizando el gestor de paquetes NuGet o un paquete local.

5.1 Uso del gestor de paquetes NuGet

  1. Abrir el Administrador de Paquetes NuGet: En el Explorador de soluciones, haz clic con el botón derecho en "Referencias" y selecciona "Administrar paquetes NuGet".

  2. Buscar e Instalar: Busque "ComPDFKit" en el Administrador de Paquetes NuGet. Seleccione el paquete apropiado (por ejemplo, ComPDFKit.NetFramework o ComPDFKit.Conversion.NetFramework) y haga clic en "Instalar".

    Una comparación entre ComPDFKit e IronPDF: Figura 7 - Buscar ComPDFKit usando el administrador de paquetes NuGet

  3. Verificar Instalación: Asegúrese de que el paquete aparezca bajo "Referencias" en el Explorador de Soluciones.

5.2 Utilizar un paquete local

  1. Download Package: Obtenga el archivo ComPDFKit.NetFramework.nupkg del sitio web oficial de ComPDFKit.

  2. Configurar fuente de NuGet: Crea o edita un archivo nuget.config en el directorio de tu proyecto para incluir la ruta al paquete local.
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <packageSources>
            <add key="ComPDFKitSource" value="path\to\directoryContainingNupkg" />
        </packageSources>
    </configuration>
XML
  1. Instalar paquete local: Vuelva a abrir su solución en Visual Studio, vaya a "Administrar paquetes NuGet" y seleccione su fuente de paquete local. Instale el paquete ComPDFKit desde la fuente local.

5.3 Aplicar la clave de licencia

  1. Obtener licencia: Contacta al equipo de ComPDFKit para obtener una licencia de prueba o completa.

  2. Aplicar la licencia en el código:
    bool LicenseVerify()
    {
        if (!CPDFSDKVerifier.LoadNativeLibrary())
            return false;
        LicenseErrorCode verifyResult = CPDFSDKVerifier.LicenseVerify("input your license here");
        return (verifyResult == LicenseErrorCode.E_LICENSE_SUCCESS);
    }
    bool LicenseVerify()
    {
        if (!CPDFSDKVerifier.LoadNativeLibrary())
            return false;
        LicenseErrorCode verifyResult = CPDFSDKVerifier.LicenseVerify("input your license here");
        return (verifyResult == LicenseErrorCode.E_LICENSE_SUCCESS);
    }
Private Function LicenseVerify() As Boolean
		If Not CPDFSDKVerifier.LoadNativeLibrary() Then
			Return False
		End If
		Dim verifyResult As LicenseErrorCode = CPDFSDKVerifier.LicenseVerify("input your license here")
		Return (verifyResult = LicenseErrorCode.E_LICENSE_SUCCESS)
End Function
$vbLabelText   $csharpLabel

Añada este método al archivo principal de su aplicación para verificar la licencia.

Siguiendo estos pasos, podrá integrar con éxito ComPDFKit en su proyecto de C#.

6. HTML a PDF

Convertir HTML a PDF es un requisito común en muchas aplicaciones, como generar informes, facturas o documentación de forma dinámica a partir de contenido web. Tanto IronPDF como ComPDFKit ofrecen soluciones sólidas para esta tarea, pero sus enfoques y capacidades difieren significativamente.

El proceso suele comenzar con la captura del contenido HTML, que puede ser estático o generado dinámicamente. El HTML capturado se procesa luego para aplicar las hojas de estilo asociadas (CSS) y los scripts (JavaScript), lo que garantiza que el PDF final refleje la apariencia y el comportamiento de la página web original.

6.1. Convertir HTML a PDF con IronPDF

IronPDF es una biblioteca versátil para convertir HTML a PDF en C#. Utiliza un motor de renderizado basado en Chrome para garantizar un resultado de alta calidad. Este proceso consiste en convertir con precisión el contenido HTML, CSS y JavaScript al formato PDF. He aquí un ejemplo básico de cómo convertir una cadena HTML en un archivo PDF utilizando IronPDF:

using IronPdf;
using System;
class Program
{
    static void Main()
    {
        // Define your HTML string
        string htmlString = @"
                <h1>Hello, IronPDF!</h1>
                <p>This is a simple PDF created from an HTML string.</p>";
        var renderer = new ChromePdfRenderer();
        // Convert the HTML string to a PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlString);
        // Save the PDF document to a file
        string outputPath = "sample.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
using IronPdf;
using System;
class Program
{
    static void Main()
    {
        // Define your HTML string
        string htmlString = @"
                <h1>Hello, IronPDF!</h1>
                <p>This is a simple PDF created from an HTML string.</p>";
        var renderer = new ChromePdfRenderer();
        // Convert the HTML string to a PDF document
        PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlString);
        // Save the PDF document to a file
        string outputPath = "sample.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Una Comparación entre Compdfkit e IronPDF: Figura 8 - Ejemplo del código anterior

Del mismo modo, puede crear archivos PDF a partir del archivo HTML. Es muy útil porque a veces las cadenas HTML son demasiado grandes y necesitas añadir CSS con ellas. IronPDF ayuda proporcionando un método para convertir directamente archivos HTML junto con sus archivos CSS y JS a documentos PDF.

using IronPdf;
using System;
class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        // Convert the HTML string to a PDF document
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("index.html");
        // Save the PDF document to a file
        string outputPath = "HTML File.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
using IronPdf;
using System;
class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        // Convert the HTML string to a PDF document
        PdfDocument pdf = renderer.RenderHtmlFileAsPdf("index.html");
        // Save the PDF document to a file
        string outputPath = "HTML File.pdf";
        pdf.SaveAs(outputPath);
        Console.WriteLine($"PDF created successfully and saved to {outputPath}");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Una Comparación entre Compdfkit & IronPDF: Figura 9 - Ejemplo de salida del código anterior utilizando IronPDF para renderizar un HTML como PDF

IronPDF también admite la conversión de URL a PDF y de archivos HTML a PDF. Estas funciones son muy útiles en programas en los que la gestión de documentos es importante. IronPDF ofrece una amplia gama de funciones para la creación y manipulación de PDF, lo que lo convierte en una potente herramienta para desarrolladores.

6.2. HTML a PDF usando ComPDFKit C#

ComPDFKit no admite directamente la conversión de HTML a PDF en su SDK de C#. En su lugar, ofrece una API independiente específica para este fin. Esta API le permite realizar conversiones de HTML a PDF haciendo peticiones HTTP a su servicio.

Para utilizar la API de HTML a PDF de ComPDFKit, siga estos pasos:

  1. Enviar contenido HTML: Crea una solicitud HTTP POST al endpoint de la API de ComPDFKit con tu contenido HTML.

  2. Recibir salida PDF: La API procesa el contenido HTML y devuelve el archivo PDF generado.

    He aquí un ejemplo de cómo estructurar una solicitud de este tipo en C#:

using System;
using System.Net.Http;
using System.Threading.Tasks;
public class HtmlToPdfExample
{
    public static async Task ConvertHtmlToPdfAsync()
    {
        using (var client = new HttpClient())
        {
            var content = new StringContent("<h1>Hello World</h1>");
            var response = await client.PostAsync("https://api.compdfkit.com/html-to-pdf", content);
            var pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("output.pdf", pdfBytes);
        }
    }
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
public class HtmlToPdfExample
{
    public static async Task ConvertHtmlToPdfAsync()
    {
        using (var client = new HttpClient())
        {
            var content = new StringContent("<h1>Hello World</h1>");
            var response = await client.PostAsync("https://api.compdfkit.com/html-to-pdf", content);
            var pdfBytes = await response.Content.ReadAsByteArrayAsync();
            System.IO.File.WriteAllBytes("output.pdf", pdfBytes);
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Es sólo una demostración de que podemos utilizar API como esta en el programa C#. En la documentación de ComPDFKit no hay ninguna forma específica de utilizarlo para C#.

7. Marca de agua en PDF

Marcar con agua un PDF es una práctica esencial por muchas razones. Ayuda a proteger la integridad del documento, afirma la propiedad y añade una capa de seguridad. Las marcas de agua pueden ser textos, logotipos o imágenes que aparecen en el fondo o en el primer plano de un documento. Impiden el uso, la copia y la distribución no autorizados de los contenidos. Además, las marcas de agua pueden transmitir información importante como el estado del documento (por ejemplo, "Confidencial", "Borrador", "Aprobado") o la identidad del creador.

7.1 Marca de agua con IronPDF

IronPDF ofrece una forma sencilla de añadir marcas de agua a documentos PDF mediante programación. Esta funcionalidad está integrada en la biblioteca, lo que permite a los desarrolladores aplicar marcas de agua mediante código C#.

using IronPdf;
using IronPdf.Editing;
License.LicenseKey = "License-Code";
string watermarkHtml = @"
<img style='width: 500px;' src=""C:\Users\Tayyab Ali\Desktop\watermark.png"">
<h1>IronPDF Watermark</h1>";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>It's a PDF with a watermark</h1>");
// Apply watermark with 45 degrees rotation and 70% opacity
pdf.ApplyWatermark(watermarkHtml, rotation: 30, opacity: 50);
pdf.SaveAs("f://Confidential.pdf");
using IronPdf;
using IronPdf.Editing;
License.LicenseKey = "License-Code";
string watermarkHtml = @"
<img style='width: 500px;' src=""C:\Users\Tayyab Ali\Desktop\watermark.png"">
<h1>IronPDF Watermark</h1>";
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>It's a PDF with a watermark</h1>");
// Apply watermark with 45 degrees rotation and 70% opacity
pdf.ApplyWatermark(watermarkHtml, rotation: 30, opacity: 50);
pdf.SaveAs("f://Confidential.pdf");
Imports IronPdf
Imports IronPdf.Editing
License.LicenseKey = "License-Code"
Dim watermarkHtml As String = "
<img style='width: 500px;' src=""C:\Users\Tayyab Ali\Desktop\watermark.png"">
<h1>IronPDF Watermark</h1>"
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>It's a PDF with a watermark</h1>")
' Apply watermark with 45 degrees rotation and 70% opacity
pdf.ApplyWatermark(watermarkHtml, rotation:= 30, opacity:= 50)
pdf.SaveAs("f://Confidential.pdf")
$vbLabelText   $csharpLabel

Una Comparación entre Compdfkit e IronPDF: Figura 10 - Ejemplo de salida anterior del código que muestra la marca de agua añadida usando IronPDF

En este ejemplo, se utiliza la clase ChromePdfRenderer para crear un PDF a partir de una cadena HTML. El método ApplyWatermark se utiliza a continuación para aplicar una marca de agua. La marca de agua consta de una imagen y un encabezado, ambos definidos en la cadena watermarkHtml. El parámetro de rotación se establece en 30 grados, y la opacidad se fija en 50%, asegurando que la marca de agua sea visible pero no sobrecargue el contenido principal. El PDF resultante se guarda en una ruta especificada.

7.2 Marca de agua con ComPDFKit

ComPDFKit proporciona una funcionalidad completa para añadir marcas de agua a documentos PDF directamente en C#. Esto puede hacerse mediante programación utilizando los métodos de la biblioteca ComPDFKit. He aquí un ejemplo de cómo añadir una marca de agua de texto utilizando ComPDFKit:

static private bool AddTextWatermark(CPDFDocument document)
{
    CPDFWatermark watermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_TEXT);
    watermark.SetText("test");
    watermark.SetFontName("Helvetica"); 
    watermark.SetPages("0-3");
    byte[] color = { 255, 0, 0 };
    watermark.SetTextRGBColor(color);
    watermark.SetScale(2);
    watermark.SetRotation(0);
    watermark.SetOpacity(120);
    watermark.SetVertalign(C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER);
    watermark.SetHorizalign(C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER);
    watermark.SetVertOffset(0);
    watermark.SetHorizOffset(0);
    watermark.SetFront(true);
    watermark.SetFullScreen(true);
    watermark.SetVerticalSpacing(10);
    watermark.SetHorizontalSpacing(10);
    watermark.CreateWatermark();
    string path = outputPath + "\\AddTextWatermarkTest.pdf";
    if (!document.WriteToFilePath(path))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + path);
    return true;
}
CPDFDocument document = CPDFDocument.InitWithFilePath("SamplePDF.pdf");
if (AddTextWatermark(document))
{
    Console.WriteLine("Add text watermark done.");
}
else
{
    Console.WriteLine("Add text watermark failed.");
}
static private bool AddTextWatermark(CPDFDocument document)
{
    CPDFWatermark watermark = document.InitWatermark(C_Watermark_Type.WATERMARK_TYPE_TEXT);
    watermark.SetText("test");
    watermark.SetFontName("Helvetica"); 
    watermark.SetPages("0-3");
    byte[] color = { 255, 0, 0 };
    watermark.SetTextRGBColor(color);
    watermark.SetScale(2);
    watermark.SetRotation(0);
    watermark.SetOpacity(120);
    watermark.SetVertalign(C_Watermark_Vertalign.WATERMARK_VERTALIGN_CENTER);
    watermark.SetHorizalign(C_Watermark_Horizalign.WATERMARK_HORIZALIGN_CENTER);
    watermark.SetVertOffset(0);
    watermark.SetHorizOffset(0);
    watermark.SetFront(true);
    watermark.SetFullScreen(true);
    watermark.SetVerticalSpacing(10);
    watermark.SetHorizontalSpacing(10);
    watermark.CreateWatermark();
    string path = outputPath + "\\AddTextWatermarkTest.pdf";
    if (!document.WriteToFilePath(path))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + path);
    return true;
}
CPDFDocument document = CPDFDocument.InitWithFilePath("SamplePDF.pdf");
if (AddTextWatermark(document))
{
    Console.WriteLine("Add text watermark done.");
}
else
{
    Console.WriteLine("Add text watermark failed.");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Una comparación entre Compdfkit e IronPDF: Figura 11 - Ejemplo anterior del resultado del código que muestra la marca de agua añadida utilizando ComPDFKit

En este ejemplo, se utiliza la clase CPDFDocument para abrir un documento PDF existente. El método AddTextWatermark inicializa una marca de agua de texto utilizando el método InitWatermark. Se establecen varias propiedades de la marca de agua, como el contenido del texto, la fuente, el color, la escala, la rotación, la opacidad, la alineación y el espaciado. A continuación, se crea la marca de agua y se aplica a las páginas especificadas del documento PDF. Por último, el PDF modificado se guarda en una ruta especificada. Para integrar marcas de agua en imágenes se necesitan distintos métodos.

8. PDFA

PDF/A es una versión estandarizada de PDF diseñada para la preservación digital a largo plazo de documentos electrónicos. La conformidad de los documentos con PDF/A garantiza su visualización y reproducción fiables en el futuro. Esta sección explora cómo crear documentos compatibles con PDF/A utilizando dos bibliotecas populares: IronPDF y ComPDFKit.

8.1 PDFA con IronPDF

IronPDF simplifica el proceso de conversión de documentos PDF estándar a documentos compatibles con PDF/A. Con IronPDF, puede cargar fácilmente un PDF existente y guardarlo en un formato compatible con PDF/A.

using IronPdf;
using System;
class Program
{
    static void Main()
    {
        License.LicenseKey = "License-Key";
        PdfDocument pdf = PdfDocument.FromFile("Source.pdf");
        pdf.SaveAsPdfA("pdfa-compliant.pdf", PdfAVersions.PdfA3);
    }
}
using IronPdf;
using System;
class Program
{
    static void Main()
    {
        License.LicenseKey = "License-Key";
        PdfDocument pdf = PdfDocument.FromFile("Source.pdf");
        pdf.SaveAsPdfA("pdfa-compliant.pdf", PdfAVersions.PdfA3);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

He aquí un breve resumen del proceso:

  1. Inicializar IronPDF: Comience importando la biblioteca de IronPDF y estableciendo su clave de licencia.

  2. Cargar el PDF: Use PdfDocument.FromFile para cargar su archivo PDF fuente.

  3. Convertir y Guardar: Convierte el PDF cargado a PDF/A especificando la versión deseada de PDF/A y guardando el documento resultante.

    Este enfoque directo hace de IronPDF una opción conveniente para manejar las conversiones PDF/A.

8.2 PDFA con ComPDFKit

ComPDFKit ofrece una solución sólida para convertir PDF al formato PDF/A. El proceso consiste en inicializar un documento PDF, definir la ruta de salida e invocar el método de conversión.

static public bool CovertToPDFA1a(CPDFDocument document)
{
    string convertToPDFA1aPath = outputPath + "\\ConvertToPDFA1aTest.pdf";
    if (!document.WritePDFAToFilePath(CPDFType.CPDFTypePDFA1a, convertToPDFA1aPath))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + convertToPDFA1aPath);
    return true;
}
CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");
if (!Directory.Exists(outputPath))
{
    Directory.CreateDirectory(outputPath);
}
if (CovertToPDFA1a(document))
{
    Console.WriteLine("Convert to PDF/A-1a done.");
}
else
{
    Console.WriteLine("Convert to PDF/A-1a failed.");
}
static public bool CovertToPDFA1a(CPDFDocument document)
{
    string convertToPDFA1aPath = outputPath + "\\ConvertToPDFA1aTest.pdf";
    if (!document.WritePDFAToFilePath(CPDFType.CPDFTypePDFA1a, convertToPDFA1aPath))
    {
        return false;
    }
    Console.WriteLine("Browse the changed file in " + convertToPDFA1aPath);
    return true;
}
CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");
if (!Directory.Exists(outputPath))
{
    Directory.CreateDirectory(outputPath);
}
if (CovertToPDFA1a(document))
{
    Console.WriteLine("Convert to PDF/A-1a done.");
}
else
{
    Console.WriteLine("Convert to PDF/A-1a failed.");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

He aquí un resumen de los pasos:

  1. Inicializar el Documento: Cargar el documento PDF usando CPDFDocument.InitWithFilePath.

  2. Configurar el Directorio de Salida: Asegúrese de que el directorio de salida exista o créelo si es necesario.

  3. Convertir a PDF/A: Use WritePDFAToFilePath con el tipo de PDF/A especificado para realizar la conversión y guardar el archivo.

9. Firma digital

Las firmas digitales son esenciales para verificar la autenticidad e integridad de los documentos. Esta sección muestra cómo añadir firmas digitales a los archivos PDF utilizando IronPDF y ComPDFKit.

9.1 Firma digital de IronPDF

IronPDF proporciona una forma sencilla y eficaz de aplicar firmas digitales a documentos PDF.

using IronPdf;
using IronPdf.Signing;
class Program
{
    static void Main(string[] args)
    {
        var simpleSignature = new IronPdf.Signing.PdfSignature("MyCert.p12", "newpassword");
        simpleSignature.SignPdfFile("sample.pdf");
    }
}
using IronPdf;
using IronPdf.Signing;
class Program
{
    static void Main(string[] args)
    {
        var simpleSignature = new IronPdf.Signing.PdfSignature("MyCert.p12", "newpassword");
        simpleSignature.SignPdfFile("sample.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

El proceso implica:

  1. Inicializar IronPDF: Importar las bibliotecas necesarias de IronPDF.

  2. Crear una firma: inicializa un objeto PdfSignature con el archivo de certificado y la contraseña.

  3. Firmar el PDF: Aplique la firma al PDF usando SignPdfFile.

    Este método garantiza que sus documentos PDF estén firmados de forma segura, lo que aumenta su credibilidad y seguridad.

9.2 Firma digital de CompDFKit

ComPDFKit ofrece una solución completa para crear firmas digitales con amplias opciones de personalización.

private static void CreateDigitalSignature(CPDFDocument document, string certificatePath, string password)
{
    Console.WriteLine("--------------------");
    Console.WriteLine("Create digital signature.");
    CPDFSignatureCertificate certificate = CPDFPKCS12CertHelper.GetCertificateWithPKCS12Path("Certificate.pfx", "ComPDFKit");
    CPDFPage page = document.PageAtIndex(0);
    CPDFSignatureWidget signatureField = page.CreateWidget(C_WIDGET_TYPE.WIDGET_SIGNATUREFIELDS) as CPDFSignatureWidget;
    signatureField.SetRect(new CRect(28, 420, 150, 370));
    signatureField.SetWidgetBorderRGBColor(new byte[] { 0, 0, 0 });
    signatureField.SetWidgetBgRGBColor(new byte[] { 150, 180, 210 });
    signatureField.UpdateAp();
    string name = GetGrantorFromDictionary(certificate.SubjectDict) + "\n";
    string date = DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss");
    string reason = "I am the owner of the document.";
    string location = certificate.SubjectDict["C"];
    string DN = certificate.Subject;
    CPDFSignatureConfig signatureConfig = new CPDFSignatureConfig
    {
        Text = GetGrantorFromDictionary(certificate.SubjectDict),
        Content =
        "Name: " + name + "\n" +
        "Date: " + date + "\n" +
        "Reason: " + reason + " \n" +
        "Location: " + location + "\n" +
        "DN: " + DN + "\n",
        IsContentAlignLeft = false,
        IsDrawLogo = true,
        LogoBitmap = new Bitmap("Logo.png"),
        TextColor = new float[] { 0, 0, 0 },
        ContentColor = new float[] { 0, 0, 0 }
    };
    string filePath = outputPath + "\\" + document.FileName + "_Signed.pdf";
    signatureField.UpdataApWithSignature(signatureConfig);
    if (document.WriteSignatureToFilePath(signatureField,
        filePath,
        certificatePath, password,
        location,
        reason, CPDFSignaturePermissions.CPDFSignaturePermissionsNone))
    {
        Console.WriteLine("File saved in " + filePath);
        Console.WriteLine("Create digital signature done.");
    }
    else
    {
        Console.WriteLine("Create digital signature failed.");
    }
    Console.WriteLine("--------------------");
}
private static void CreateDigitalSignature(CPDFDocument document, string certificatePath, string password)
{
    Console.WriteLine("--------------------");
    Console.WriteLine("Create digital signature.");
    CPDFSignatureCertificate certificate = CPDFPKCS12CertHelper.GetCertificateWithPKCS12Path("Certificate.pfx", "ComPDFKit");
    CPDFPage page = document.PageAtIndex(0);
    CPDFSignatureWidget signatureField = page.CreateWidget(C_WIDGET_TYPE.WIDGET_SIGNATUREFIELDS) as CPDFSignatureWidget;
    signatureField.SetRect(new CRect(28, 420, 150, 370));
    signatureField.SetWidgetBorderRGBColor(new byte[] { 0, 0, 0 });
    signatureField.SetWidgetBgRGBColor(new byte[] { 150, 180, 210 });
    signatureField.UpdateAp();
    string name = GetGrantorFromDictionary(certificate.SubjectDict) + "\n";
    string date = DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss");
    string reason = "I am the owner of the document.";
    string location = certificate.SubjectDict["C"];
    string DN = certificate.Subject;
    CPDFSignatureConfig signatureConfig = new CPDFSignatureConfig
    {
        Text = GetGrantorFromDictionary(certificate.SubjectDict),
        Content =
        "Name: " + name + "\n" +
        "Date: " + date + "\n" +
        "Reason: " + reason + " \n" +
        "Location: " + location + "\n" +
        "DN: " + DN + "\n",
        IsContentAlignLeft = false,
        IsDrawLogo = true,
        LogoBitmap = new Bitmap("Logo.png"),
        TextColor = new float[] { 0, 0, 0 },
        ContentColor = new float[] { 0, 0, 0 }
    };
    string filePath = outputPath + "\\" + document.FileName + "_Signed.pdf";
    signatureField.UpdataApWithSignature(signatureConfig);
    if (document.WriteSignatureToFilePath(signatureField,
        filePath,
        certificatePath, password,
        location,
        reason, CPDFSignaturePermissions.CPDFSignaturePermissionsNone))
    {
        Console.WriteLine("File saved in " + filePath);
        Console.WriteLine("Create digital signature done.");
    }
    else
    {
        Console.WriteLine("Create digital signature failed.");
    }
    Console.WriteLine("--------------------");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Los pasos incluyen:

  1. Inicializar el Documento y Certificado: Cargar el documento PDF y recuperar el certificado usando CPDFPKCS12CertHelper.

  2. Crear y Configurar el Campo de Firma: Añadir un campo de firma al PDF, definir sus propiedades y configurar los detalles de la firma.

  3. Aplicar la firma: Utilice WriteSignatureToFilePath para aplicar la firma y guardar el PDF firmado.

10. Extraer texto

Extraer texto de documentos PDF es crucial para diversas tareas de procesamiento y análisis de datos. Esta sección explica cómo extraer texto de PDFs utilizando IronPDF y ComPDFKit.

10.1 Extraer texto con IronPDF

IronPDF ofrece un método sencillo para extraer texto de documentos PDF.

using IronPdf;
using System.IO;
PdfDocument pdf = PdfDocument.FromFile("PDF File With Text.pdf");
string text = pdf.ExtractAllText();
File.WriteAllText("PDF Text.txt", text);
using IronPdf;
using System.IO;
PdfDocument pdf = PdfDocument.FromFile("PDF File With Text.pdf");
string text = pdf.ExtractAllText();
File.WriteAllText("PDF Text.txt", text);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

El proceso implica:

  1. Inicializar IronPDF: Importar la biblioteca IronPDF.

  2. Cargar el PDF: Usa PdfDocument.FromFile para cargar el archivo PDF.

  3. Extraer Texto: Llame a ExtractAllText para recuperar todo el contenido de texto del PDF.

  4. Guardar texto en archivo: Escribe el texto extraído en un archivo utilizando operaciones estándar de entrada/salida de archivos.

    Este método proporciona una forma fácil y eficaz de extraer y guardar texto de documentos PDF.

10.2 Extraer texto con ComPDFKit

ComPDFKit ofrece una solución flexible para la extracción de texto de documentos PDF.

static private bool PDFToText(CPDFDocument document)
{
    string path = outputPath + "//PDFToText.txt";
    if (!document.PdfToText("1-" + document.PageCount.ToString(), path))//Page ranges are counted from 1
    {
        return false;
    }
    Console.WriteLine("Browse the generated file in " + path);
    return true;
}
static void Main(string[] args)
{
    #region Perparation work
    Console.WriteLine("Running PDFPage test sample…\r\n");
    SDKLicenseHelper.LicenseVerify();
    CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");
    if (!Directory.Exists(outputPath))
    {
        Directory.CreateDirectory(outputPath);
    }
    #endregion
    if (PDFToText(document))
    {
        Console.WriteLine("PDF to text done.");
    }
    else
    {
        Console.WriteLine("PDF to text failed.");
    }
    Console.WriteLine("--------------------");
    Console.WriteLine("Done!");
    Console.WriteLine("--------------------");
    Console.ReadLine();
}
static private bool PDFToText(CPDFDocument document)
{
    string path = outputPath + "//PDFToText.txt";
    if (!document.PdfToText("1-" + document.PageCount.ToString(), path))//Page ranges are counted from 1
    {
        return false;
    }
    Console.WriteLine("Browse the generated file in " + path);
    return true;
}
static void Main(string[] args)
{
    #region Perparation work
    Console.WriteLine("Running PDFPage test sample…\r\n");
    SDKLicenseHelper.LicenseVerify();
    CPDFDocument document = CPDFDocument.InitWithFilePath("CommonFivePage.pdf");
    if (!Directory.Exists(outputPath))
    {
        Directory.CreateDirectory(outputPath);
    }
    #endregion
    if (PDFToText(document))
    {
        Console.WriteLine("PDF to text done.");
    }
    else
    {
        Console.WriteLine("PDF to text failed.");
    }
    Console.WriteLine("--------------------");
    Console.WriteLine("Done!");
    Console.WriteLine("--------------------");
    Console.ReadLine();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Los pasos son:

  1. Inicializar el Documento: Cargar el documento PDF usando CPDFDocument.InitWithFilePath.

  2. Configurar el Directorio de Salida: Asegúrese de que el directorio de salida exista o créelo si es necesario.

  3. Extraer y Guardar Texto: Use PdfToText para extraer texto del rango de páginas especificado y guardarlo en un archivo.

11. Licencias

Los modelos de licencia de IronPDF y ComPDFKit difieren en su enfoque y condiciones de uso. Comprender estas diferencias puede ayudarle a elegir la herramienta adecuada para las necesidades y el presupuesto de su proyecto.

11.1 Licencia de IronPDF

Una comparación entre Compdfkit e IronPDF: Figura 12 - página de licenciamiento de IronPDF

IronPDF opera bajo un modelo de licencia comercial, lo que significa que para aplicaciones comerciales o relacionadas con la empresa, generalmente se requiere la compra de una licencia. Este modelo ofrece flexibilidad, incluidas opciones como la distribución libre de derechos. Esto permite a los desarrolladores incorporar la biblioteca a sus proyectos sin tener que hacer frente a costes adicionales durante el tiempo de ejecución.

IronPDF ofrece licencias perpetuas. Las licencias perpetuas requieren un pago único por el uso de por vida, con cuotas opcionales por actualizaciones y asistencia técnica más allá del periodo inicial. Este modelo comercial garantiza que las empresas reciban asistencia dedicada, documentación completa y acceso a las funciones avanzadas necesarias para la generación y manipulación profesional de PDF.

11.2 Licencia de ComPDFKit

ComPDFKit emplea un modelo de licencia flexible que se adapta a las distintas necesidades de las empresas. Ofrece licencias perpetuas y de suscripción. Una licencia perpetua implica un pago único que garantiza acceso de por vida al SDK, con cuotas opcionales para actualizaciones y asistencia ampliada. Las licencias de suscripción requieren pagos regulares (mensuales o anuales) e incluyen acceso continuo a actualizaciones y soporte.

A la hora de decidir entre IronPDF y ComPDFKit, tenga en cuenta los requisitos específicos de su proyecto, como la necesidad de soporte dedicado, las limitaciones presupuestarias y la escala de implantación. El modelo comercial de IronPDF es más adecuado para empresas que buscan un soporte sólido y funciones avanzadas.

12. Documentación y asistencia

12.1. Documentación y soporte de IronPDF

IronPDF ofrece a sus usuarios una documentación completa y sólidas opciones de asistencia. La documentación es extensa y detallada, y ofrece orientaciones claras sobre la instalación, el uso básico, las funciones avanzadas y la resolución de problemas. La documentación oficial está disponible en Read the Docs, donde se incluye una guía de inicio rápido, referencias detalladas de la API y numerosos ejemplos de código para ayudar a los desarrolladores a comenzar y utilizar eficazmente las características de IronPDF.

IronPDF también mantiene activa una guía de resolución de problemas y un sitio de asistencia técnica a través de su blog y su sección de ejemplos, donde los usuarios pueden encontrar soluciones a problemas comunes, como retrasos en la renderización y dificultades de implantación. El sitio de asistencia incluye una colección de artículos que abordan las preguntas más frecuentes y cuestiones técnicas específicas.

Para asistencia directa, IronPDF ofrece un equipo de atención al cliente con capacidad de respuesta al que se puede contactar para cuestiones más complejas o asistencia personalizada. Esta combinación de amplia documentación y sólida infraestructura de soporte hace de IronPDF una opción fiable para los desarrolladores que buscan integrar funcionalidades PDF en sus aplicaciones.

12.2. Documentación y soporte de ComPDFKit

ComPDFKit también proporciona documentación exhaustiva y recursos de soporte para sus usuarios. Cubre varios aspectos del uso del SDK, desde la configuración básica hasta funcionalidades avanzadas como marcas de agua y firmas digitales. En cuanto al soporte, ComPDFKit ofrece asistencia técnica a través de sus canales de atención al cliente. El equipo de asistencia está a su disposición para ayudarle a resolver problemas técnicos, responder a sus preguntas y orientarle sobre el uso eficaz del SDK.

Aunque tanto IronPDF como ComPDFKit ofrecen una sólida documentación y soporte, IronPDF tiene ventaja gracias a sus guías de solución de problemas más extensas y a un equipo de soporte muy receptivo. Esto lo hace especialmente ventajoso para los desarrolladores que puedan encontrarse con retos técnicos complejos y necesiten una asistencia fiable.

13. Conclusión

La comparación entre IronPDF y ComPDFKit pone de relieve los puntos fuertes y las consideraciones a tener en cuenta por los desarrolladores que buscan bibliotecas de C# sólidas para la generación y manipulación de PDF.

ComPDFKit es un completo SDK de PDF que soporta una amplia gama de funcionalidades necesarias para manejar documentos PDF mediante programación. Sobresale en las anotaciones de PDF y tiene amplias capacidades de edición. Sus funciones, como la conversión de formatos y las opciones de seguridad, añaden un valor significativo para los desarrolladores.

IronPDF, por su parte, es conocido por su API potente y fácil de usar. Simplifica la generación de PDF generándolos a partir de HTML, CSS y JavaScript. IronPDF destaca en la conversión de HTML a PDF, ofreciendo una integración perfecta con las aplicaciones .NET. La biblioteca ofrece amplias posibilidades de edición, como añadir encabezados, pies de página, marcas de agua y firmas digitales.

Las funciones de seguridad de IronPDF garantizan que la información confidencial de los documentos PDF esté bien protegida. Su compatibilidad con múltiples plataformas .NET y su rendimiento optimizado para cargas de trabajo elevadas lo convierten en la opción ideal para aplicaciones de nivel empresarial. El modelo de licencia comercial de IronPDF garantiza un soporte dedicado, documentación completa y acceso a funciones avanzadas, lo que lo hace especialmente adecuado para proyectos de nivel profesional.

IronPDF destaca como una opción sólida en comparación con ComPDFKit para los desarrolladores que buscan una biblioteca PDF completa y repleta de funciones. Sus funciones avanzadas, su API fácil de usar y su sólida infraestructura de asistencia lo convierten en la solución preferida para empresas y proyectos con requisitos diversos y exigentes relacionados con PDF. Las amplias capacidades de IronPDF y su soporte especializado proporcionan una ventaja significativa, garantizando una generación y manipulación de PDF fiables y eficientes para aplicaciones profesionales.

En resumen, tanto IronPDF como ComPDFKit son potentes herramientas para el procesamiento de PDF en C#. Sin embargo, el amplio conjunto de funciones de IronPDF, su rendimiento optimizado y su soporte superior lo convierten en la opción preferida de los desarrolladores que buscan aplicaciones profesionales y de nivel empresarial.

IronPDF proporciona una licencia de prueba gratuita para que los usuarios prueben la biblioteca y sus capacidades. Las licencias de IronPDF comienzan desde $749. Además, Iron Software agrupa nueve bibliotecas por el coste de dos, lo que incluye IronXL y IronOCR junto con IronPDF.

Chipego
Ingeniero de software
Chipego tiene una habilidad natural para escuchar que le ayuda a comprender los problemas de los clientes y a ofrecer soluciones inteligentes. Se unió al equipo de Iron Software en 2023, después de estudiar una licenciatura en Tecnología de la Información. IronPDF e IronOCR son los dos productos en los que Chipego se ha centrado, pero su conocimiento de todos los productos crece día a día, a medida que encuentra nuevas formas de ayudar a los clientes. Disfruta de lo colaborativa que es la vida en Iron Software, con miembros del equipo de toda la empresa que aportan su variada experiencia para contribuir a soluciones eficaces e innovadoras. Cuando Chipego está lejos de su escritorio, a menudo se le puede encontrar disfrutando de un buen libro o jugando al fútbol.
< ANTERIOR
Comparación entre CraftMyPDF e IronPDF
SIGUIENTE >
Comparación entre Report .NET e IronPDF