¿Qué es PDFKit y para qué sirve?
\n\nPDFKit es una biblioteca potente y flexible para JavaScript (Node.js), diseñada para la creación programática de documentos PDF «sobre la marcha». Permite a los desarrolladores generar archivos PDF complejos y de varias páginas con contenido enriquecido: texto, imágenes, tablas, gráficos vectoriales, anotaciones y formularios. A diferencia de muchas otras bibliotecas, PDFKit funciona a bajo nivel, brindando control total sobre cada aspecto del documento, desde las coordenadas de ubicación de los elementos hasta la incrustación de fuentes.
\n\nPrincipales casos de uso de PDFKit:
\n- \n
- Generación de informes y facturas: Creación de documentos PDF dinámicos basados en datos de una base de datos o API. \n
- Creación de albaranes y recibos: Generación automática de documentos para tiendas en línea y sistemas contables. \n
- Elaboración de certificados y diplomas: Generación de documentos personalizados con datos únicos para cada destinatario. \n
- Exportación de datos: Conversión de páginas web, tablas o gráficos a formato PDF para impresión o archivado. \n
- Creación de libros electrónicos y manuales: Maquetación programática de documentos de varias páginas con tabla de contenido y marcadores. \n
PDFKit es la elección de los desarrolladores que necesitan rendimiento, flexibilidad y control total sin usar dependencias externas (por ejemplo, sin necesidad de instalar LibreOffice o wkhtmltopdf).
\n\nInstalación de PDFKit
\n\nPDFKit se distribuye a través del gestor de paquetes npm. Para instalarlo, ejecute el siguiente comando en la terminal en la raíz de su proyecto:
\n\nnpm install pdfkit\n\nDespués de la instalación, la biblioteca estará disponible para importar en su código. No se requieren dependencias adicionales.
\n\nInicio rápido: creación del primer documento PDF
\n\nVamos a crear un archivo PDF simple con el texto «¡Hola, Mundo!».
\n\nconst PDFDocument = require('pdfkit');\nconst fs = require('fs');\n\n// Creamos un nuevo documento PDF\nconst doc = new PDFDocument();\n\n// Especificamos el flujo para escribir el resultado\ndoc.pipe(fs.createWriteStream('hola_mundo.pdf'));\n\n// Agregamos texto a la página\ndoc.fontSize(25)\n .text('¡Hola, Mundo!', 100, 100);\n\n// Finalizamos el documento y cerramos el flujo\ndoc.end();\n\nconsole.log('¡Archivo PDF "hola_mundo.pdf" creado exitosamente!');\n\nDespués de ejecutar este código, en la misma carpeta aparecerá el archivo hola_mundo.pdf con el texto «¡Hola, Mundo!».
Métodos y funciones principales de PDFKit
\n\nPDFKit proporciona una API extensa. A continuación se presentan 10 métodos clave con descripción detallada y ejemplos.
\n\n1. text(text, x, y, options)
\nDescripción: Agrega texto al documento. Este es el método principal para trabajar con texto. Admite saltos de línea, alineación, sangrías y estilización.
\nParámetros:
\n- \n
text(String) — Texto a agregar. \n x(Number, opcional) — Coordenada X. Si no se especifica, el texto continúa desde la posición actual. \n y(Number, opcional) — Coordenada Y. Si no se especifica, el texto continúa desde la posición actual. \n options(Object, opcional) — Objeto con configuraciones:\n- \n
align(String) — Alineación:'left','center','right','justify'. \n indent(Number) — Sangría de la primera línea. \n paragraphGap(Number) — Espacio entre párrafos. \n lineGap(Number) — Interlineado. \n width(Number) — Ancho del bloque de texto (para saltos de línea). \n height(Number) — Alto del bloque de texto. \n <