docxtemplater
Genere Word DOCX a partir de plantillas a través de JavaScript
Biblioteca de JavaScript para crear, modificar y convertir archivos DOCX de Microsoft® Word.
¿Qué es docxtemplater?
docxtemplater es una biblioteca JavaScript de código abierto que ayuda a crear y editar archivos DOCX de Word a partir de una plantilla. La biblioteca de Word JavaScript permite a los usuarios personalizar los documentos generados usando el mismo Word. La biblioteca es fácil de manejar y no requiere ninguna habilidad técnica para editar una plantilla de Word. La biblioteca también ha proporcionado varios módulos para funciones específicas.
La biblioteca docxtemplater admite varias funciones relacionadas con la creación y el manejo de archivos DOCX, como agregar imágenes, insertar texto formateado en un documento de Word, insertar encabezados/pies de página, reemplazar imágenes con cualquier propiedad existente, crear tablas, agregar texto de marca de agua, actualizar márgenes de página, insertar notas al pie de un documento y mucho más.
¿Cómo instalar docxtemplater?
La forma recomendada y más fácil de instalar docxtemplater es a través de npm. Utilice el siguiente comando para una instalación sin problemas.
Instalar docxtemplater a través de npm
npm install docxtemplater pizzip
Generar Word DOCX a través de JavaScript
La biblioteca docxtemplater ayuda a crear documentos DOCX en una aplicación Node.js y en el navegador con facilidad. También permite modificar los documentos DOCX existentes para insertar tablas, imágenes, texto, párrafos y más.
Word DOCX vía JavaScript
const PizZip = require("pizzip");
const Docxtemplater = require("docxtemplater");
const fs = require("fs");
const path = require("path");
// Load the docx file as binary content
const content = fs.readFileSync(
path.resolve(__dirname, "input.docx"),
"binary"
);
const zip = new PizZip(content);
const doc = new Docxtemplater(zip, {
paragraphLoop: true,
linebreaks: true,
});
// Render the document (Replace {first_name} by John, {last_name} by Doe, ...)
doc.render({
first_name: "John",
last_name: "Doe",
phone: "0652455478",
});
const buf = doc.getZip().generate({
type: "nodebuffer",
compression: "DEFLATE",
});
// buf is a nodejs Buffer, you can either write it to a
// file or res.send it with express for example.
fs.writeFileSync(path.resolve(__dirname, "output.docx"), buf);
Insertar y administrar tablas en documentos de Word
La biblioteca docxtemplater permite a los desarrolladores de software crear una tabla con solo un par de líneas de código JavaScript. La biblioteca ha incluido varios métodos para crear y administrar tablas en un documento, como la creación de tablas desde cero, la creación de tablas de bucle vertical o copiando celdas, fusionando celdas de una tabla, insertando filas y columnas, definiendo un ancho para filas y columnas. y así.
Agregar nota al pie a un documento de Word
La biblioteca gratuita docxtemplater incluye soporte para agregar notas al pie de página a un documento DOCX de Word. La biblioteca brinda control total para la personalización de las notas al pie. Puede agregar números en superíndice y aplicar diferentes estilos al contenido de la nota al pie con facilidad.
Añadir la nota a los documentos vía JavaScript
const imageOpts = {
getProps: function (img, tagValue, tagName) {
/*
* If you don't want to change the props
* for a given tagValue, you should write :
*
* return null;
*/
return {
rotation: 90,
// flipVertical: true,
// flipHorizontal: true,
};
},
getImage: function (tagValue, tagName) {
return fs.readFileSync(tagValue);
},
getSize: function (img, tagValue, tagName) {
return [150, 150];
},
};
const doc = new Docxtemplater(zip, {
modules: [new ImageModule(imageOpts)],
});
Agregar y modificar imágenes en DOCX
La biblioteca docxtemplater de código abierto brinda a los programadores de software el poder de insertar imágenes dentro de un documento de Word. La biblioteca permite establecer el ancho y la altura de la imagen, alinear imágenes, agregar un título para las imágenes, usar expresiones angulares para establecer el tamaño de las imágenes, etc. También puede recuperar datos de imágenes de cualquier fuente de datos, como datos base64, sistema de archivos, URL e imágenes almacenadas de Amazon S3. Una gran característica de la biblioteca es que puede evitar imágenes más grandes que su contenedor.
Rotación y Flip Imágenes a través de JavaScript
const imageOpts = {
getProps: function (img, tagValue, tagName) {
/*
* If you don't want to change the props
* for a given tagValue, you should write :
*
* return null;
*/
return {
rotation: 90,
// flipVertical: true,
// flipHorizontal: true,
};
},
getImage: function (tagValue, tagName) {
return fs.readFileSync(tagValue);
},
getSize: function (img, tagValue, tagName) {
return [150, 150];
},
};
const doc = new Docxtemplater(zip, {
modules: [new ImageModule(imageOpts)],
});