COMPARACIóN DE PRODUCTOS

Comparación entre PDFKit npm e IronPDF para Node. js

Actualizado 4 de enero, 2024
Compartir:

Introducción

Este tutorial profundizará en IronPDF y PDFKit - dos grandes nombres en bibliotecas PDF de JavaScript. Ambos son opciones sólidas para proyectos Node.js, pero tienen sus puntos fuertes y débiles.

El propósito de este artículo es dar a los lectores una idea real de cómo las herramientas IronPDF y PDFKit pueden encajar en el flujo de trabajo Node.js de un desarrollador. Tanto si se trata de PDF básicos como de diseños complicados, entender lo que IronPDF y PDFKit pueden hacer por ti te resultará muy útil. (y no puede) es muy importante.

PDFKit

PDFKit es una biblioteca JavaScript avanzada de generación de PDF para Node.js y entornos de navegador. Su completo conjunto de herramientas lo hace ideal para crear documentos imprimibles de varias páginas con facilidad. La biblioteca está diseñada para ser fácil de usar y agilizar el proceso de generación de documentos complejos.

PDFKit destaca por sus potentes funciones de gráficos vectoriales, amplias opciones de estilo de texto y fuentes, funciones de incrustación de imágenes y compatibilidad con documentos PDF interactivos y seguros. Su facilidad de uso, combinada con su versatilidad tanto para entornos de servidor como de navegador, lo convierten en una valiosa herramienta para los desarrolladores que necesitan generar PDF personalizados en una gran variedad de aplicaciones.

Características principales de PDFKit

  • Generación flexible de PDF

     PDFKit no se basa en la conversión de HTML a PDF; en cambio, genera PDF directamente mediante código JavaScript. Este enfoque proporciona a los desarrolladores un control preciso sobre el diseño, el estilo y el contenido de los archivos PDF que crean, por lo que generar documentos complejos es más fácil.
  • Gráficos y formato de texto

     La biblioteca admite funciones gráficas avanzadas, como líneas, curvas, rectángulos, círculos, etc. Las funciones de formato de texto, como fuentes, tamaños y colores personalizados, permiten crear documentos visualmente atractivos.
  • Incorporación de imágenes y gráficos vectoriales

     PDFKit permite incrustar imágenes en varios formatos y admite gráficos vectoriales, por lo que es ideal para documentos impresos de alta calidad. La incrustación de imágenes admite archivos JPEG y PNG.
  • **Funciones avanzadas de documentos

     Los desarrolladores pueden añadir anotaciones, marcadores e hipervínculos a sus PDF. La biblioteca también admite la creación de encabezados y pies de página, así como la inclusión de números de página y JavaScript personalizado.
  • Componentes personalizables y reutilizables

     La API de PDFKit facilita la creación de componentes reutilizables, agilizando el proceso de desarrollo de documentos con estructuras repetitivas, como facturas o informes.
  • **Gráficos vectoriales

     PDFKit ofrece una API similar al lienzo HTML5 para gráficos vectoriales, que incluye operaciones de trazado, análisis sintáctico de trazados SVG, transformaciones y degradados. Es ideal para crear gráficos escalables y de alta calidad en PDF. La biblioteca admite el ajuste de líneas, varias alineaciones de texto y listas con viñetas.
  • Fuentes incorporadas

     PDFKit es compatible con una amplia gama de formatos de fuentes como TrueType, OpenType, WOFF, etc., lo que permite una tipografía coherente en los PDF. También está disponible la subconfiguración de fuentes, que garantiza que el tamaño del documento siga siendo manejable.

IronPDF Node.js

Con IronPDF, puede convertir fácilmente cadenas HTML, archivos o incluso páginas web enteras en PDF con el mismo aspecto que el contenido original, con estilos CSS e imágenes. Esto es crucial para entregar documentos de calidad profesional, como facturas, contratos e informes, que deben conservar la marca y el diseño especificados en los diseños web.

Características principales de IronPDF for Node.js

Conversión de HTML a PDF

IronPDF destaca en la conversión de contenidos HTML en documentos PDF de alta fidelidad. Sus capacidades incluyen:

  • Cadena HTML a PDF: Esta función permite convertir cadenas HTML dinámicas directamente en PDF.
  • Archivo HTML a PDF: Con esta función, los archivos HTML estáticos pueden transformarse sin problemas en formato PDF, manteniendo el diseño y el estilo.
  • URL a PDF: IronPDF puede capturar páginas web enteras por URL y convertirlas en PDF, lo que es perfecto para archivar y acceder sin conexión.

Formatear PDF

IronPDF proporciona completas herramientas de formato que permiten personalizar y mejorar los PDF creados a partir de contenido HTML, como:

  • JavaScript en HTML a PDF: Antes de la conversión, IronPDF puede ejecutar JavaScript dentro de HTML, lo que permite renderizar datos dinámicos o elementos interactivos en el formato estático de un PDF.
  • Añadir códigos de barras en HTML a PDF: IronPDF permite incrustar códigos de barras en el PDF, una función esencial para los documentos utilizados en logística, comercio minorista y gestión de inventarios.
  • Aplicar plantillas de página: Estandarice el aspecto de sus documentos aplicando plantillas de página, que pueden ser diseños predefinidos utilizados para garantizar la coherencia en varios PDF.
  • Fuentes personalizadas en HTML a PDF: IronPDF permite incrustar fuentes personalizadas directamente desde el contenido HTML al PDF, garantizando que la marca y el diseño sean coherentes y consistentes en todos los documentos.

Editar el contenido de la página

Las capacidades de edición de IronPDF son amplias y permiten modificar los PDF existentes para adaptarlos a necesidades específicas:

  • **Buscar y reemplazar texto: Esta función permite a los usuarios buscar y reemplazar texto dentro del PDF, haciendo que las actualizaciones y correcciones sean una tarea sencilla.
  • **Añadir contenido HTML de forma eficaz: Los usuarios pueden insertar más contenido HTML en un PDF existente. Esta función está optimizada para garantizar que el contenido adicional no afecte al rendimiento ni a los tiempos de carga del documento.
  • Venta de nuevos contenidos: IronPDF puede estampar o superponer nuevos contenidos en una página PDF existente. Esto resulta útil para añadir marcas de agua oficiales, sellos confidenciales o actualizar información en documentos preexistentes.

Utilizar formularios PDF

IronPDF soporta la creación y manipulación de formularios PDF, permitiendo elementos interactivos dentro del PDF:

Formularios PDF: Incluye la creación de formularios que pueden rellenarse digitalmente, lo que permite a las empresas automatizar el proceso de recogida de datos. Con IronPDF, puede crear formularios mediante programación, rellenar campos e incluso recuperar información, lo que agiliza los flujos de trabajo y reduce la introducción manual de datos.

Compatibilidad multiplataforma

IronPDF es compatible con varias plataformas, lo que lo hace versátil para distintos entornos de desarrollo. Es compatible con Node.js versión 12.0 y superiores y puede utilizarse en Windows, Linux, Mac y Docker.

Experiencia de usuario y accesibilidad

  • Fácil instalación: Configurar IronPDF es sencillo con simples comandos npm o yarn. El motor IronPDF, necesario para el funcionamiento de la biblioteca, se descarga automáticamente en la primera ejecución.
  • Código de ejemplo para un inicio rápido: La biblioteca proporciona fragmentos de código de ejemplo para varias funciones, como la conversión de HTML a PDF, lo que simplifica el proceso de implementación para los desarrolladores.

Creación del proyecto JavaScript en Visual Studio Code

Configuración del entorno de desarrollo

Antes de sumergirse en el mundo de la generación de PDF, debe configurar el entorno de su proyecto. Código de Visual Studio (Código VS) ofrece una plataforma ideal y fácil de usar. Para empezar, inicie VS Code y cree un nuevo proyecto JavaScript. Puede hacerlo creando una nueva carpeta para su proyecto y abriéndola en VS Code. Este entorno será donde escribirás tu código y gestionarás los archivos de tu proyecto.

Inicialización del proyecto

Una vez abierta la carpeta en VS Code, el siguiente paso es inicializar un nuevo proyecto JavaScript. Abra el terminal integrado en VS Code (normalmente se encuentra en Terminal > Nuevo Terminal en el menú) y escribe npm init. Este comando le guiará a través de la creación de un archivo package.json, que es crucial para la gestión de las dependencias y metadatos de su proyecto.

Instalar la biblioteca IronPDF

Añadir IronPDF a su proyecto

Una vez configurado el proyecto JavaScript, es hora de instalar la biblioteca IronPDF. En su terminal VS Code, ejecute el siguiente comando:

npm install ironpdf
npm install ironpdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm install ironpdf
VB   C#

Este comando busca e instala la librería IronPDF, añadiéndola a las dependencias de su proyecto.

Verificación de la instalación

Tras la instalación, asegúrese de que IronPDF aparece en su archivo package.json en la sección de dependencias. Esto garantiza que IronPDF se integre correctamente en su proyecto, allanando el camino para la generación y manipulación de PDF sin problemas.

Comparación entre PDFKit npm y IronPDF for Node.js: Figura 1

Instalar la biblioteca PDFKit

Integración de PDFKit

El siguiente paso es PDFKit, una robusta y versátil biblioteca de generación de documentos PDF. Para añadir PDFKit a su proyecto, ejecute el siguiente comando en su terminal dentro de Vs Code:

npm install pdfkit
npm install pdfkit
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm install pdfkit
VB   C#

Esto instalará PDFKit y lo añadirá a las dependencias de su proyecto.

Garantizar una configuración correcta

Tras una instalación correcta, compruebe que PDFKit aparece en las dependencias de su archivo package.json. Esta confirmación es crucial para confirmar que su proyecto está ahora equipado con las herramientas necesarias para crear archivos PDF complejos, detallados y visualmente atractivos.

Comparación entre PDFKit npm y IronPDF for Node.js: Figura 2

Comparación de la función HTML a PDF en IronPDF y PDFKit

Conversión de HTML a PDF con IronPDF

IronPDF for Node.js destaca en la conversión de HTML a PDF, ofreciendo una solución eficaz para los desarrolladores. Esta biblioteca es experta en tareas complejas como la representación de estilos CSS, la ejecución de JavaScript y la incorporación de encabezados y pies de página personalizados. Estas funcionalidades mejoran significativamente su capacidad para crear PDF de calidad profesional a partir de fuentes HTML. IronPDF for Node.js proporciona tres métodos convenientes para este proceso de conversión:

  1. Cadena HTML a PDF
  2. Archivo HTML a PDF
  3. URL a PDF: Esta función única permite convertir páginas web en PDF simplemente utilizando sus URL. Es una forma eficaz de capturar contenidos en línea y en directo en formato PDF.

Conversión de cadenas HTML a PDF

Este método permite a los desarrolladores convertir directamente cadenas de código HTML en archivos PDF. Esta función es increíblemente útil para escenarios que implican la generación de contenidos dinámicos. Tanto si está creando informes personalizados, generando facturas sobre la marcha o necesita presentar contenido basado en datos en un formato pulido y profesional, esta función simplifica el proceso.

import { PdfDocument, PdfGenerator } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
  try {
    //  Introduzca la clave de licencia
    const IronPdfConfig = {
      licenseKey:
        "Your-License-Key",
    };
    //  Establecer la configuración con la clave de licencia
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    //  Crear un PDF a partir de la cadena HTML
    const pdf = await PdfDocument.fromHtml(
      "<h1>Hello JavaScript Developers! This is an Example PDF created with IronPDF NodeJS!</h1>"
    );
    //  Guarde el documento PDF en el sistema de archivos.
    await pdf.saveAs("HtmlStringToPDF.pdf");
  } catch (error) {
    //  Gestione aquí los errores
    console.error("An error occurred:", error);
  }
})();
import { PdfDocument, PdfGenerator } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
  try {
    //  Introduzca la clave de licencia
    const IronPdfConfig = {
      licenseKey:
        "Your-License-Key",
    };
    //  Establecer la configuración con la clave de licencia
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    //  Crear un PDF a partir de la cadena HTML
    const pdf = await PdfDocument.fromHtml(
      "<h1>Hello JavaScript Developers! This is an Example PDF created with IronPDF NodeJS!</h1>"
    );
    //  Guarde el documento PDF en el sistema de archivos.
    await pdf.saveAs("HtmlStringToPDF.pdf");
  } catch (error) {
    //  Gestione aquí los errores
    console.error("An error occurred:", error);
  }
})();
import
If True Then
	PdfDocument, PdfGenerator
End If
from "@ironsoftware/ironpdf"
import
If True Then
	IronPdfGlobalConfig
End If
from "@ironsoftware/ironpdf"
import fs from "fs"
(async [function] createPDFs() {
	try {
		const IronPdfConfig = { licenseKey:= "Your-License-Key"}; IronPdfGlobalConfig.setConfig(IronPdfConfig); const pdf = Await PdfDocument.fromHtml("<h1>Hello JavaScript Developers! This is an Example PDF created with IronPDF NodeJS!</h1>"); Await pdf.saveAs("HtmlStringToPDF.pdf");
	}
	catch ([error]) { console.error("An error occurred:", [error]); }
})()
VB   C#

Aquí puedes ver la salida del código:

Comparación entre PDFKit npm y IronPDF for Node.js: Figura 3

Convertir archivos HTML a PDF

Con esta función, los desarrolladores pueden convertir archivos HTML existentes en PDF. Esta funcionalidad es especialmente beneficiosa para manejar documentos HTML estáticos. Tanto si trabaja con páginas web prediseñadas, formularios estandarizados o folletos informativos, esta función le ofrece una forma sencilla de convertirlos en PDF.

import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
  try {
    //  Introduzca la clave de licencia
    const IronPdfConfig = {
      licenseKey:
        "Your-License-Key",
    };
    //  Establecer la configuración con la clave de licencia
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    //  Crear un PDF a partir del archivo HTML"
    const pdf = await PdfDocument.fromFile("invoice.html");
    //  Guarde el documento PDF en el sistema de archivos.
    await pdf.saveAs("invoice.pdf");
  } catch (error) {
    //  Gestione aquí los errores
    console.error("An error occurred:", error);
  }
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
  try {
    //  Introduzca la clave de licencia
    const IronPdfConfig = {
      licenseKey:
        "Your-License-Key",
    };
    //  Establecer la configuración con la clave de licencia
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    //  Crear un PDF a partir del archivo HTML"
    const pdf = await PdfDocument.fromFile("invoice.html");
    //  Guarde el documento PDF en el sistema de archivos.
    await pdf.saveAs("invoice.pdf");
  } catch (error) {
    //  Gestione aquí los errores
    console.error("An error occurred:", error);
  }
})();
import
If True Then
	PdfDocument
End If
from "@ironsoftware/ironpdf"
import
If True Then
	IronPdfGlobalConfig
End If
from "@ironsoftware/ironpdf"
import fs from "fs"
(async [function] createPDFs() {
	try {
		const IronPdfConfig = { licenseKey:= "Your-License-Key"}; IronPdfGlobalConfig.setConfig(IronPdfConfig); const pdf = Await PdfDocument.fromFile("invoice.html"); Await pdf.saveAs("invoice.pdf");
	}
	catch ([error]) { console.error("An error occurred:", [error]); }
})()
VB   C#

Aquí está el PDF de la factura de salida generada:

Comparación entre PDFKit npm y IronPDF for Node.js: Figura 4

Convertir URL en PDF

Esta función permite convertir páginas web en PDF simplemente utilizando sus URL. Esta funcionalidad es especialmente útil para capturar contenidos en directo y en línea. Ya sea para archivar páginas web, crear copias sin conexión de artículos en línea o generar informes a partir de datos basados en la web, esta función se encarga de todo sin esfuerzo.

import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
  try {
    //  Introduzca la clave de licencia
    const IronPdfConfig = {
      licenseKey:
        "Your-License-Key",
    };
    //  Establecer la configuración con la clave de licencia
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    //  URL de la página web a convertir en PDF
    const url = "https://es.wikipedia.org/wiki/PDF";
    //  Convierta la página web en un archivo PDF perfecto.
    const urlPDF = await PdfDocument.fromUrl(url);
    //  Guarda el documento.
    await urlPDF.saveAs("UrlToPdf.pdf");
  } catch (error) {
    //  Gestione aquí los errores
    console.error("An error occurred:", error);
  }
})();
import { PdfDocument } from "@ironsoftware/ironpdf";
import { IronPdfGlobalConfig } from "@ironsoftware/ironpdf";
import fs from "fs";
(async function createPDFs() {
  try {
    //  Introduzca la clave de licencia
    const IronPdfConfig = {
      licenseKey:
        "Your-License-Key",
    };
    //  Establecer la configuración con la clave de licencia
    IronPdfGlobalConfig.setConfig(IronPdfConfig);
    //  URL de la página web a convertir en PDF
    const url = "https://es.wikipedia.org/wiki/PDF";
    //  Convierta la página web en un archivo PDF perfecto.
    const urlPDF = await PdfDocument.fromUrl(url);
    //  Guarda el documento.
    await urlPDF.saveAs("UrlToPdf.pdf");
  } catch (error) {
    //  Gestione aquí los errores
    console.error("An error occurred:", error);
  }
})();
import
If True Then
	PdfDocument
End If
from "@ironsoftware/ironpdf"
import
If True Then
	IronPdfGlobalConfig
End If
from "@ironsoftware/ironpdf"
import fs from "fs"
(async [function] createPDFs() {
	try {
		const IronPdfConfig = { licenseKey:= "Your-License-Key"}; IronPdfGlobalConfig.setConfig(IronPdfConfig); const url = "https://es.wikipedia.org/wiki/PDF"; const urlPDF = Await PdfDocument.fromUrl(url); Await urlPDF.saveAs("UrlToPdf.pdf");
	}
	catch ([error]) { console.error("An error occurred:", [error]); }
})()
VB   C#

Aquí está el archivo PDF de salida generado a partir de la URL:

Comparación entre PDFKit npm y IronPDF for Node.js: Figura 5

PDFKit Conversión de HTML a PDF

PDFKit, aunque no está diseñado principalmente para la conversión de HTML a PDF como IronPDF, ofrece una forma de crear documentos PDF mediante programación directamente desde código JavaScript. A continuación se muestra un ejemplo de cómo crear un archivo PDF sencillo:

const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument();
doc.pipe(fs.createWriteStream('output.pdf'));
doc.fontSize(25)
   .text('PDFKit - Text to PDF Example', 100, 100);
doc.end();
const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument();
doc.pipe(fs.createWriteStream('output.pdf'));
doc.fontSize(25)
   .text('PDFKit - Text to PDF Example', 100, 100);
doc.end();
const PDFDocument = require( 'pdfkit');
const fs = require( 'fs');
Dim doc As let = New PDFDocument()
doc.pipe(fs.createWriteStream( 'output.pdf'));
doc.fontSize(25).text( 'PDFKit - Text @to PDF Example', 100, 100);
doc.end()
VB   C#

Este fragmento de código crea un archivo PDF con un encabezado de texto. Aunque PDFKit no convierte HTML a PDF directamente, permite un control detallado de la colocación y el formato del texto.

Este es el archivo de salida generado por PDFKit:

Comparación entre PDFKit npm y IronPDF for Node.js: Figura 6

Flexibilidad y funciones avanzadas

IronPDF Node.js

**Contraseñas, seguridad y metadatos**IronPDF permite a los desarrolladores reforzar la seguridad de sus archivos PDF mediante diversas funciones. Permite establecer contraseñas, lo que añade una capa adicional de protección que obliga a los usuarios a introducir una contraseña para ver el documento. Además, IronPDF ofrece la posibilidad de incrustar metadatos en el PDF, que pueden incluir información sobre el autor, títulos y palabras clave, mejorando así la gestión y organización de los documentos.

import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
    //  Importar un documento PDF o crear un nuevo PDF a partir de Html
    const pdf = await PdfDocument.open("encrypted.pdf", "password");
    //  Crear un mapa vacío
    const newMetadata = new Map();
    //  Añadir pares clave-valor de metadatos
    newMetadata.set("Author", "Satoshi Nakamoto");
    newMetadata.set("Keywords", "SEO, Friendly");
    await pdf.overrideMetadata(newMetadata);
    await pdf.removePasswordsAndEncryption();
    //  Convertir PDF en sólo lectura
    await pdf.makePdfDocumentReadOnly("secret-key");
    //  Configurar permisos
    const permissions = {
        AllowAnnotations: false,
        AllowExtractContent: false,
        AllowFillForms: false,
        AllowPrint: true,
    };
    await pdf.setPermission(permissions);
    //  Cambiar o establecer la contraseña de encriptación del documento
    await pdf.saveAs("secured.pdf", {
        ownerPassword: "top-secret",
        userPassword: "my-password",
    });
})();
import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
    //  Importar un documento PDF o crear un nuevo PDF a partir de Html
    const pdf = await PdfDocument.open("encrypted.pdf", "password");
    //  Crear un mapa vacío
    const newMetadata = new Map();
    //  Añadir pares clave-valor de metadatos
    newMetadata.set("Author", "Satoshi Nakamoto");
    newMetadata.set("Keywords", "SEO, Friendly");
    await pdf.overrideMetadata(newMetadata);
    await pdf.removePasswordsAndEncryption();
    //  Convertir PDF en sólo lectura
    await pdf.makePdfDocumentReadOnly("secret-key");
    //  Configurar permisos
    const permissions = {
        AllowAnnotations: false,
        AllowExtractContent: false,
        AllowFillForms: false,
        AllowPrint: true,
    };
    await pdf.setPermission(permissions);
    //  Cambiar o establecer la contraseña de encriptación del documento
    await pdf.saveAs("secured.pdf", {
        ownerPassword: "top-secret",
        userPassword: "my-password",
    });
})();
import
If True Then
	PdfDocument
End If
from "@ironsoftware/ironpdf"
(Async Sub()
	const pdf = Await PdfDocument.open("encrypted.pdf", "password")
	const newMetadata = New Map()
	newMetadata.set("Author", "Satoshi Nakamoto")
	newMetadata.set("Keywords", "SEO, Friendly")
	Await pdf.overrideMetadata(newMetadata)
	Await pdf.removePasswordsAndEncryption()
	Await pdf.makePdfDocumentReadOnly("secret-key")
	const permissions = { AllowAnnotations: False, AllowExtractContent: False, AllowFillForms: False, AllowPrint: True}
	Await pdf.setPermission(permissions)
	Await pdf.saveAs("secured.pdf", {
		ownerPassword:= "top-secret",
		userPassword:= "my-password"
	})
End Sub)()
VB   C#

Cifrado y descifrado de PDF: El cifrado y descifrado son componentes vitales de la seguridad de los documentos, y IronPDF los gestiona con facilidad. Ofrece distintos niveles de cifrado, desde la simple protección mediante contraseña hasta estándares de cifrado avanzados, lo que garantiza que la información sensible permanezca segura. La función de descifrado es igual de sólida, ya que proporciona a los usuarios autorizados los medios para acceder a los documentos cifrados y modificarlos.

Firmas digitales: En la era de la documentación digital, la autenticidad y la integridad son primordiales. Firmas digitales de IronPDF permite a los usuarios firmar digitalmente sus PDF, lo que no sólo verifica la identidad del autor del documento, sino que también indica que el documento no ha sido alterado desde que se aplicó la firma, garantizando así su autenticidad.

import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
    //  Paso 1. Importar un PDF Importar un PDF
    const pdf = await PdfDocument.open("sample.pdf");
    //  Paso 2. Firmar el PDF con certificado digital
    await pdf.signDigitalSignature({
        certificatePath: "IronSoftware.pfx",
        certificatePassword: "123456",
        signingReason: "To show how to sign a PDF",
        signingLocation: "Chicago, USA",
        signatureImage: {
            SignatureImagePath: "logo.png"
        }
    });
    //Paso 3. El PDF no se firma hasta que se guarda en un archivo.
    await pdf.saveAs("signed.pdf");
})();
import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
    //  Paso 1. Importar un PDF Importar un PDF
    const pdf = await PdfDocument.open("sample.pdf");
    //  Paso 2. Firmar el PDF con certificado digital
    await pdf.signDigitalSignature({
        certificatePath: "IronSoftware.pfx",
        certificatePassword: "123456",
        signingReason: "To show how to sign a PDF",
        signingLocation: "Chicago, USA",
        signatureImage: {
            SignatureImagePath: "logo.png"
        }
    });
    //Paso 3. El PDF no se firma hasta que se guarda en un archivo.
    await pdf.saveAs("signed.pdf");
})();
import
If True Then
	PdfDocument
End If
from "@ironsoftware/ironpdf"
(Async Function()
	const pdf = Await PdfDocument.open("sample.pdf")
	Await pdf.signDigitalSignature({
		certificatePath:= "IronSoftware.pfx",
		certificatePassword:= "123456",
		signingReason:= "To show how to sign a PDF",
		signingLocation:= "Chicago, USA",
		signatureImage:= { SignatureImagePath:= "logo.png" }
	})
	Await pdf.saveAs("signed.pdf")
End Function)()
VB   C#

Compresión de PDF: IronPDF reconoce la necesidad de un almacenamiento eficaz y un intercambio rápido de documentos. Incluye un Compresión PDF que reduce significativamente el tamaño de los archivos, lo que es crucial para optimizar el espacio de almacenamiento y agilizar la transmisión de documentos sin comprometer la calidad y la integridad del contenido de los PDF.

import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
    //  Cargar el documento PDF existente
    const pdf = await PdfDocument.fromFile("my-content.pdf");
    //  Comprimir imágenes con el parámetro de calidad (1-100)
    await pdf.compressSize(60);
    //  Guardar el PDF comprimido
    await pdf.saveAs("document_compressed.pdf");
    //  Comprimir imágenes y reducirlas en función del tamaño visible en el documento PDF
    await pdf.compressSize(90, true);
    //  Guardar el PDF escalado y comprimido
    await pdf.saveAs("document_scaled_compressed.pdf");
});
import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
    //  Cargar el documento PDF existente
    const pdf = await PdfDocument.fromFile("my-content.pdf");
    //  Comprimir imágenes con el parámetro de calidad (1-100)
    await pdf.compressSize(60);
    //  Guardar el PDF comprimido
    await pdf.saveAs("document_compressed.pdf");
    //  Comprimir imágenes y reducirlas en función del tamaño visible en el documento PDF
    await pdf.compressSize(90, true);
    //  Guardar el PDF escalado y comprimido
    await pdf.saveAs("document_scaled_compressed.pdf");
});
import
If True Then
	PdfDocument
End If
from "@ironsoftware/ironpdf"
(Async Function()
	const pdf = Await PdfDocument.fromFile("my-content.pdf")
	Await pdf.compressSize(60)
	Await pdf.saveAs("document_compressed.pdf")
	Await pdf.compressSize(90, True)
	Await pdf.saveAs("document_scaled_compressed.pdf")
End Function)
VB   C#

Fusionar dos o más PDF: IronPDF ofrece una solución sencilla para fusionar varios documentos PDF en un solo archivo. Esta función es increíblemente útil para combinar varios documentos, como informes, contratos o series de formularios, lo que facilita una mejor gestión y distribución de los documentos.

Eliminar páginas PDF específicas: La flexibilidad en la edición es clave para cualquier herramienta PDF, y IronPDF ofrece la posibilidad de eliminar páginas específicas de un documento PDF. Esto resulta especialmente útil a la hora de adaptar el contenido a distintos públicos u omitir páginas innecesarias para crear un documento más conciso.

PDFKit Características avanzadas y extensibilidad

Motor de diseño personalizable: PDFKit cuenta con un motor de diseño personalizable que permite a los desarrolladores controlar todos los aspectos del diseño del PDF, desde la posición del texto hasta los elementos gráficos complejos.

const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument({ margin: 50 });
//  Diseños personalizados
doc.text('Customized Layout Text', {
  align: 'center',
  valign: 'center'
});
doc.end();
doc.pipe(fs.createWriteStream('custom-layout.pdf'));
const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument({ margin: 50 });
//  Diseños personalizados
doc.text('Customized Layout Text', {
  align: 'center',
  valign: 'center'
});
doc.end();
doc.pipe(fs.createWriteStream('custom-layout.pdf'));
const PDFDocument = require( 'pdfkit');
const fs = require( 'fs');
Dim doc As let = New PDFDocument({ margin:= 50 })
'  Diseños personalizados
doc.text( 'Customized Layout Text', { align: 'center', valign: 'center' });
doc.end()
doc.pipe(fs.createWriteStream( 'custom-layout.pdf'));
VB   C#

En este ejemplo, se utiliza PDFDocument para crear un diseño personalizado con texto centrado.

Funciones avanzadas de gráficos y texto: PDFKit ofrece funciones gráficas y de texto avanzadas, que permiten un diseño y un estilo intrincados dentro de los archivos PDF. Permite dibujar formas y añadir imágenes y SVG. En lo que se refiere al texto, PDFKit ofrece un conjunto completo de opciones de diseño, desde cuadros de texto básicos hasta controles tipográficos avanzados, que garantizan que el diseño de cada página sea exactamente el previsto.

const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument();
//  Gráficos avanzados
doc.moveTo(100, 150)
   .lineTo(100, 250)
   .lineTo(200, 250)
   .fill("#FF3300");
//  Texto avanzado
doc.fontSize(15)
   .font('Times-Roman')
   .text('Advanced Text Features', 100, 300);
doc.end();
doc.pipe(fs.createWriteStream('advanced-graphics-text.pdf'));
const PDFDocument = require('pdfkit');
const fs = require('fs');
let doc = new PDFDocument();
//  Gráficos avanzados
doc.moveTo(100, 150)
   .lineTo(100, 250)
   .lineTo(200, 250)
   .fill("#FF3300");
//  Texto avanzado
doc.fontSize(15)
   .font('Times-Roman')
   .text('Advanced Text Features', 100, 300);
doc.end();
doc.pipe(fs.createWriteStream('advanced-graphics-text.pdf'));
const PDFDocument = require( 'pdfkit');
const fs = require( 'fs');
Dim doc As let = New PDFDocument()
'  Gráficos avanzados
doc.moveTo(100, 150).lineTo(100, 250).lineTo(200, 250).fill("#FF3300")
'  Texto avanzado
doc.fontSize(15).font( 'Times-Roman').text('Advanced Text Features', 100, 300);
doc.end()
doc.pipe(fs.createWriteStream( 'advanced-graphics-text.pdf'));
VB   C#

Comparación entre PDFKit npm y IronPDF for Node.js: Figura 7

Gestión de flujos y búferes: PDFKit destaca en el manejo de flujos y búferes, lo que permite una gestión eficaz de archivos PDF de gran tamaño y sus datos.

const PDFDocument = require('pdfkit');
const fs = require('fs');
const stream = require('stream');
let doc = new PDFDocument();
let buffers = [];
let writableStream = new stream.Writable();
writableStream._write = (chunk, encoding, done) => {
  buffers.push(chunk);
  done();
};
doc.pipe(writableStream);
doc.text('Streaming PDF Content');
doc.end();
writableStream.on('finish', () => {
  let pdfData = Buffer.concat(buffers);
  fs.writeFileSync('streamed.pdf', pdfData);
});
const PDFDocument = require('pdfkit');
const fs = require('fs');
const stream = require('stream');
let doc = new PDFDocument();
let buffers = [];
let writableStream = new stream.Writable();
writableStream._write = (chunk, encoding, done) => {
  buffers.push(chunk);
  done();
};
doc.pipe(writableStream);
doc.text('Streaming PDF Content');
doc.end();
writableStream.on('finish', () => {
  let pdfData = Buffer.concat(buffers);
  fs.writeFileSync('streamed.pdf', pdfData);
});
const PDFDocument = require( 'pdfkit');
const fs = require( 'fs');
const stream = require( 'stream');
Dim doc As let = New PDFDocument()
Dim buffers As let = ()
Dim writableStream As let = New stream.Writable()
writableStream._write = Sub(chunk, encoding, done)
  buffers.push(chunk)
  done()
End Sub
doc.pipe(writableStream)
doc.text( 'Streaming PDF Content');
doc.end()
writableStream.on( 'finish', () =>
If True Then
	Dim pdfData As let = Buffer.concat(buffers)
	fs.writeFileSync( 'streamed.pdf', pdfData);
End If
)
VB   C#

Encabezados y pies de página personalizables: Crear un PDF de aspecto profesional implica prestar atención a los detalles. La función de encabezados y pies de página personalizables de PDFKit permite colocar con precisión texto y gráficos en la parte superior e inferior de las páginas. Esto resulta especialmente útil para añadir una marca coherente, títulos de documentos y paginación en un documento de varias páginas.

Formularios interactivos: PDFKit amplía sus capacidades a formularios interactivos dentro de sus archivos PDF, permitiendo la creación de campos de texto, casillas de verificación y botones de radio. Esta función tiene un valor incalculable para los usuarios que buscan recopilar información o proporcionar contenido interactivo, mejorando la experiencia de usuario y la funcionalidad del PDF.

Documentación y asistencia

Documentación y soporte de IronPDF Node.js

Documentación de IronPDF ofrece una completa guía de uso de la biblioteca, con ejemplos detallados de funciones clave como la representación de una URL como PDF y la creación de un PDF a partir de una cadena HTML. Ofrece opciones de personalización para la impresión de PDF, como la configuración del tamaño del papel y los PPP, y para el aspecto de los documentos, como encabezados y pies de página con campos de combinación de correspondencia. La documentación también cubre aspectos más avanzados como el uso de WebClients personalizados, la creación de formularios PDF editables y el trabajo con JavaScript dentro de los PDF. Puede consultar la documentación completa de la API y más ejemplos.

Para establecer encabezados y pies de página, tanto las opciones HTML como las de texto están bien documentadas, lo que permite fusionar metadatos utilizando cadenas de marcadores de posición. Se proporcionan detalles sobre la licencia, que orientan a los usuarios sobre cómo eliminar las marcas de agua y obtener la licencia. La documentación proporciona incluso información sobre la configuración del número de la primera página para los encabezados y pies de página de PDF e incluye detalles sobre cuánto tiempo se debe esperar después de la renderización HTML antes de imprimir, teniendo en cuenta la renderización de JavaScript, AJAX o animaciones.

Opciones de asistencia

IronPDF cuenta con una colección de guías de solución de problemas que abordan los problemas más comunes y ofrecen soluciones paso a paso. Puede ser la primera parada para los usuarios que intentan resolver un problema. Para cuestiones más complejas o que no puedan resolverse mediante guías, IronPDF ofrece asistencia técnica. Los usuarios pueden enviar una solicitud de asistencia técnica que puede incluir el suministro de información detallada sobre el problema, como detalles sobre la plataforma o el tiempo de ejecución, para ayudar al equipo de asistencia a reproducir y resolver el problema. También puede utilizar la opción de chat en directo.

Calidad y disponibilidad de la documentación de PDFKit

La documentación npm de PDFKit describe la biblioteca como una herramienta para crear fácilmente documentos complejos, de varias páginas e imprimibles. Hace hincapié en la encadenabilidad de su API e incluye tanto funciones de bajo nivel como abstracciones para funcionalidades de nivel superior, diseñadas para ser lo suficientemente sencillas como para que generar documentos complejos pueda ser tan simple como unas pocas llamadas a funciones.

La sección de características de la documentación es muy completa y abarca gráficos vectoriales, texto, incrustación de fuentes, incrustación de imágenes, anotaciones, creación de formularios, esquemas y seguridad de PDF, todo lo cual demuestra la capacidad de la biblioteca para crear documentos accesibles y seguros.

Opciones de asistencia

PDFKit, al ser una biblioteca de código abierto, se beneficia del apoyo de la comunidad. Los problemas y las solicitudes de funciones pueden gestionarse a través de su repositorio de GitHub, donde los usuarios pueden contribuir al código, enviar problemas y hacer pull requests. La comunidad en torno a PDFKit también puede ofrecer canales de asistencia no oficiales como Stack Overflow, donde los desarrolladores suelen compartir sus conocimientos y soluciones.

Modelos de licencia

Licencia de IronPDF

Comparación entre PDFKit npm y IronPDF for Node.js: Figura 8

IronPDF funciona con un modelo de licencia comercial, lo que significa que los desarrolladores o las empresas deben adquirir una licencia para utilizar la biblioteca en sus proyectos sin limitaciones.

Lite: Con un precio de $749, esta tarifa única proporciona un paquete básico adecuado para proyectos más pequeños.

Profesional: A 1.499 dólares, este nivel es para uso profesional y ofrece más funciones y capacidades.

Ilimitado: El nivel ilimitado tiene un precio de 2.999 dólares y es ideal para implantaciones a gran escala, ya que proporciona acceso completo a todas las funciones sin restricciones.

IronPDF también ofrece un prueba gratuita para que los desarrolladores puedan evaluar la biblioteca antes de comprarla. No hay versión gratuita ni freemium, y no se ofrecen servicios premium de consultoría o integración.

Licencia PDFKit

PDFKit es una biblioteca de código abierto disponible bajo la licencia MIT. Esta licencia permisiva permite el libre uso, modificación y distribución del software. Al ser un proyecto de código abierto, PDFKit no tiene una estructura de precios. Puede incorporarse libremente a cualquier proyecto, y los usuarios pueden contribuir a su desarrollo a través de GitHub. El proyecto acepta donaciones, que no son obligatorias, pero apoyan el desarrollo y mantenimiento continuos de la biblioteca.

Conclusión

En conclusión, tanto IronPDF for Node.js como PDFKit son potentes herramientas para la generación y manipulación de PDF en sus respectivos entornos, aunque IronPDF for Node.js tiene ventaja gracias a su amplio conjunto de funciones adaptadas a la plataforma Node.js.

Las capacidades de IronPDF para convertir HTML en PDF, la edición avanzada y la compatibilidad integral con JavaScript y otros medios enriquecidos lo convierten en una solución versátil para una amplia gama de tareas de procesamiento de PDF. Además, la gran atención que IronPDF presta a la seguridad y su detallada documentación proporcionan un nivel de garantía y accesibilidad que resulta crucial para los desarrolladores.

PDFKit, al ser de código abierto, ofrece una flexibilidad y facilidad de uso que pueden resultar muy atractivas para los desarrolladores que prefieren un amplio apoyo de la comunidad y la posibilidad de modificar el código fuente. Sus capacidades son impresionantes, sobre todo teniendo en cuenta las ventajas económicas de una solución de código abierto.

IronPDF ofrece una versión de prueba gratuita que permite a los desarrolladores evaluar todas sus funciones antes de comprometerse económicamente. Además, Iron Suite de Iron Softwareque incluye IronPDF entre otras valiosas herramientas para desarrolladores como IronXL, IronBarcode, IronQRy IronOCR ofrece un paquete rentable con un conjunto completo de funciones por el precio de dos productos.

En última instancia, la elección entre IronPDF for Node.js y PDFKit dependerá de las exigencias particulares del proyecto y de las preferencias del desarrollador o del equipo de desarrollo. IronPDF for Node.js es la elección perfecta para quienes buscan un conjunto de funciones completo y una documentación exhaustiva dentro del ecosistema Node.js.

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

Instalación gratuita de npm Ver licencias >