PDFKit es una biblioteca de Node.js que facilita a los desarrolladores la creación y el trabajo con archivos PDF. Ofrece una API sencilla pero efectiva para producir archivos PDF y agregarles diferentes tipos de contenido, como texto, imágenes y formas.
Aprenda a usar PDF Kit para crear archivos PDF en Node.js.
Configuración de PDFkit
Debes tener Node.js y npm (el administrador de paquetes de Node.js) instalados en su máquina para seguir a lo largo
Asegúrese de tener estas herramientas instaladas ejecutando los siguientes comandos de terminal:
nodo -v
npm-v
Para comenzar a usar PDFKit en su proyecto Node.js, instálelo ejecutando el siguiente comando npm:
npm instalar pdfkit
Este comando instalará PDFKit y lo agregará a las dependencias de su proyecto.
Creación de un documento PDF con PDFKit
Para crear un documento PDF usando PDFKit, requiere el kit de pdf paquete y el fs (sistema de archivos) módulo en su archivo de script:
constante Documento PDF = requerir('pdfkit');
constante f = requerir('fs');
A continuación, cree una nueva instancia de la PDFDocumento clase. Esta clase representa un archivo PDF:
constante doc = nuevo Documento PDF();
La instancia creada es un flujo legible, lo que significa que puede usar el tubo() para guardar su contenido en un archivo.
Para hacer esto, canalice el doc instancia en un flujo grabable creado por fs.createWriteStream:
doc.pipe (fs.createWriteStream('MiPDFDoc.pdf'));
El createWriteStream El método guarda el contenido de un archivo PDF en una ubicación específica en el sistema de archivos local.
El bloque de código anterior guardará el archivo PDF resultante en su directorio de trabajo actual, con el nombre MiPDFDoc.pdf.
Es importante finalizar siempre la transmisión después de agregar contenido al PDF. Puedes hacerlo usando este comando:
doc.end();
Ahora ejecute el comando de nodo nodo [nombre del script] para crear el archivo PDF MiPDFDoc.pdf en su directorio de trabajo actual.
Agregar texto con PDFKit
Antes de canalizar su documento para guardarlo, puede realizar varios cambios. PDFKit simplifica la adición de texto a los documentos e incluye muchas opciones para personalizar la visualización de la salida.
Para agregar texto al documento, simplemente llame al texto() método y pase el texto que desea agregar como argumento:
doc.texto("¡Codificar es fácil!")
A medida que PDFKIT agrega texto al documento, realiza un seguimiento de las posiciones X e Y actuales de ese texto. Entonces, siempre que llame al método de texto, PDFKit agregará una nueva línea debajo de la anterior.
Sin embargo, al proporcionar las coordenadas X e Y al método de texto después del texto mismo, puede cambiar su posición:
doc.texto('¡Codificar es fácil!', 100, 100)
Para subir o bajar una línea, llame al mover hacia abajo o ascender método con el número de líneas que debe moverse el texto:
doc.moverAbajo(3);
doc.moverArriba();
De forma predeterminada, llamar a cualquiera de los métodos sin pasar un argumento hará que se mueva solo una línea.
PDFKit admite cada una de las 14 fuentes estándar definidas por el formato PDF. El Documentación de texto de PDFKit tiene una lista completa de estas fuentes estándar.
Utilizar el fuente() método para especificar la fuente requerida. Simplemente pase el nombre de la fuente correspondiente como una cadena:
doc.fuente('Times-Roman')
.texto('¡Codificar es fácil!');
También puede cambiar el tamaño de fuente y el color del texto usando el tamaño de fuente() y el color de relleno() métodos, respectivamente.
Por ejemplo:
// Esto cambia el color del texto a rojo y le da un tamaño de fuente de 8
doc.fillColor('rojo')
.tamaño de fuente(8)
.texto('¡Codificar es fácil!');
Agregar imágenes con PDFKit
Para una imagen a su documento PDF, simplemente pase su ruta al imagen método en la instancia del documento:
doc.imagen('ruta/a/imagen.jpeg')
PDFKit le permite agregar imágenes en cualquiera de Formato JPEG o PNG.
De forma predeterminada, PDFKit insertará la imagen en su tamaño original. Puede cambiar las dimensiones de una imagen proporcionando un objeto que contenga pares clave-valor como argumento para la imagen() método. Puede especificar un ancho, alto y alineación horizontal y vertical.
Por ejemplo:
// Especificando solo el ancho
doc.imagen('ruta/a/imagen.jpg', { ancho: 300 });
// Especificando tanto el ancho como la altura
doc.imagen('ruta/a/imagen.jpg', { ancho: 300, altura:200 })
Agregar páginas con PDFKit
Para agregar nuevas páginas al documento PDF, simplemente llame al añadir página método en la instancia del documento:
doc.addPage()
Para agregar contenido automáticamente cada vez que agrega una nueva página, use el páginaAñadido evento en la instancia del documento.
Por ejemplo:
doc.en('página agregada', () => doc.texto("¡Codificar es fácil!"));
PDFKit le permite especificar las dimensiones de la página al crear un nuevo documento o agregar una nueva página a una existente. Hay varios tamaños de página predefinidos que el Documentación en papel de PDFKit explica.
Para usar cualquiera de estos tamaños de página predefinidos, pase un objeto al PDFDocumento constructor o el añadir página() método. Utilice la propiedad de tamaño para especificar una cadena que es el nombre del tamaño del papel.
Por ejemplo:
// constructor
constante doc = nuevo Documento PDF({ tamaño: 'A5' });
// función añadirPágina
doc.addPage({ tamaño: 'A7' });
Pasando este objeto de opciones al PDFDocumento constructor establece el tamaño de página predeterminado para todo el documento. A continuación, puede sobrescribir este valor predeterminado pasando un valor diferente al añadir página método.
Puede establecer márgenes de página pasando un objeto al márgenes propiedad al agregar páginas.
El márgenes propiedad toma un objeto con arriba, abajo, izquierda, y bien propiedades que representan cada margen.
Por ejemplo:
// Agregar diferentes márgenes en cada lado
doc.addPage({
márgenes: {
arriba: 72,
abajo: 72,
izquierda: 50,
bien: 50
}
});
Este código establece los márgenes superior e inferior en 72 puntos y los márgenes izquierdo y derecho en 50 puntos. Tenga en cuenta que el margen predeterminado para los documentos creados con PDFKit es un margen de 1 pulgada (72 puntos) en todos los lados.
Para configurar todos los márgenes superior, inferior, izquierdo y derecho al mismo valor, simplemente pase un objeto con un margen propiedad a la añadir página método:
doc.addPage({ margen: 60 }) // agrega un margen de 60 puntos a cada lado
Las ventajas de crear archivos PDF con PDFKit en Node.js
PDFKit le permite producir documentos estándar y compatibles desde sus aplicaciones Node.js. Con PDFKit, puede manejar documentos complejos fácilmente. Además, puede facilitar la entrega de documentos a los usuarios y hacerlos más sencillos de compartir e imprimir.